{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "e6705cfb7219df3b",
   "metadata": {},
   "source": [
    "## 样本数据\n",
    "\n",
    "假如现在有这样一组房价数据。\n",
    "\n",
    "1. 1室1厅1卫，面积是80平方，价格是20000\n",
    "2. 2室2厅1卫，面积是100平方，价格是30000\n",
    "3. 3室2厅1卫，面积是120平方，价格是40000\n",
    "4. 1室1厅1卫，面积是60平方，价格是15000\n",
    "5. 2室2厅1卫，面积是90平方，价格是25000\n",
    "6. 3室2厅1卫，面积是110平方，价格是35000\n",
    "7. 1室1厅1卫，面积是70平方，价格是17000\n",
    "8. ...\n",
    "\n",
    "面积和价格呈线性关系，我们通过python模拟出这样一组样本数据，只关心面积和价格即可：：\n"
   ]
  },
  {
   "cell_type": "code",
   "id": "ed60a02e10681ed0",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-15T23:58:38.528462Z",
     "start_time": "2025-06-15T23:58:38.445652Z"
    }
   },
   "source": [
    "import numpy as np"
   ],
   "outputs": [],
   "execution_count": 2
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "4b33434facd0a719",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-14T09:29:26.499713Z",
     "start_time": "2025-05-14T09:29:26.497388Z"
    }
   },
   "outputs": [],
   "source": [
    "x = np.array([80, 100, 120, 60, 90, 110, 70])\n",
    "y = np.array([20000, 30000, 40000, 15000, 25000, 35000, 17000])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f70a5a0e5de20cf6",
   "metadata": {},
   "source": [
    "让X随机，生成更多的样本：\n"
   ]
  },
  {
   "cell_type": "code",
   "id": "92f07b008e02f1b6",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T09:54:52.857862Z",
     "start_time": "2025-06-16T09:54:52.854968Z"
    }
   },
   "source": [
    "# 生成100个样本，范围在1到100之间\n",
    "# x 表示房子的面积\n",
    "# y 表示房子对应的价格\n",
    "x = np.random.randint(1, 100, 100)\n",
    "# y = x * 10 + np.random.randint(100)\n",
    "y = np.array([i * 10 + np.random.randint(100) for i in x])\n",
    "\n",
    "print(x[:5])\n",
    "print(y[:5])"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 2 84 18 39 93]\n",
      "[  93  859  229  485 1012]\n"
     ]
    }
   ],
   "execution_count": 179
  },
  {
   "cell_type": "code",
   "id": "9f0f3adc0587bb74",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T09:54:54.401744Z",
     "start_time": "2025-06-16T09:54:54.355289Z"
    }
   },
   "source": [
    "# 用plot画出x和y\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.scatter(x, y) # 散点图\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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q66yli9fbn3wwQfWyy+/bL3//vvhc+69916rrKzMev755623337b+tGPfmR17drV+uqrr/L62v3q7rvvttq2bWvNmzfP2rp1q/Xcc89ZLVu2tB588MHwObzn2fn73/9u/fa3v7X+9re/aSq0Zs+eHXXcyfs7aNAg6/TTT7eWLVtmvfHGG9app55qXX755Vm+MssiwBxzzjnnWOPGjQvfP3LkiNWpUydrypQpeX1dQbRr1y7zf4TXX3/d3K+trbUaN25sfvjYNm7caM6prq7O4yv1vy+++MI67bTTrAULFlg/+MEPwgGG99x9N910k9WvX7+Ex48ePWpVVFRYf/jDH8KP6X+HkpIS65lnnsnRqwyWIUOGWL/4xS+iHrvsssusESNGmM95z90VG2CcvL8bNmwwX7dy5crwOS+99JIVCoWs7du3Z/V6uIQkIgcPHpRVq1aZpa/IvZT0fnV1dV5fWxDV1dWZ2zZt2phbfe8PHToU9f5369ZNTjrpJN7/LOkloiFDhkS9t4r33H1z586V3r17y09/+lNzqfTMM8+UGTNmhI9v3bpVampqot5z3e9FL1fznmfmvPPOk4ULF8p7771n7r/99tuyZMkSufjii8193nNvOXl/9VYvG+n/N2x6vv6OXb58eVbfP7CbOabjs88+M9dSO3ToEPW43n/33Xfz9rqCuku41mH07dtXevToYR7T/wM0adLE/CWPff/1GDLz7LPPyurVq2XlypXHHeM9d98HH3wg06ZNk0mTJslvfvMb877/+te/Nu/zqFGjwu9rvJ8zvOeZufnmm80OyBq+GzZsaH6O33333abeQvGee8vJ+6u3GugjNWrUyPwDNtv/BgQY5HxFYN26deZfSfCObmd/7bXXyoIFC0xROnITzvVfmffcc4+5rysw+nd9+vTpJsDAfX/9619l1qxZ8vTTT8u//Mu/yJo1a8w/kLTglPc8+LiEJCLt2rUz6T22A0PvV1RU5O11Bc348eNl3rx58tprr8mJJ54YflzfY72MV1tbG3U+73/m9BLRrl275KyzzjL/2tGP119/XR566CHzuf4LiffcXdqFUVlZGfVY9+7dZdu2beZz+33l54x7brjhBrMKM3z4cNPxdeWVV8rEiRNN56PiPfeWk/dXb/VnUaTDhw+bzqRs/xsQYETMEm+vXr3MtdTIf03p/aqqqry+tiDQ2i8NL7Nnz5ZFixaZlsdI+t43btw46v3XNmv9wc/7n5n+/fvL2rVrzb9I7Q9dHdCldftz3nN36WXR2PEAWpvRpUsX87n+vdcf2JHvuV7+0DoA3vPM7Nu3z9RSRNJ/jOrPb8V77i0n76/e6j+U9B9VNv09oP+NtFYmK1mVAAesjVorp5988klTNX311VebNuqampp8vzTfGzt2rGmz+9///V9rx44d4Y99+/ZFtfRqa/WiRYtMS29VVZX5gHsiu5AU77n77eqNGjUyrb2bN2+2Zs2aZTVv3tyaOXNmVMup/lyZM2eO9c4771g//vGPaenNwqhRo6wTTjgh3Eatrb7t2rWzbrzxxvA5vOfZdzL+4x//MB8aGe6//37z+UcffeT4/dU26jPPPNOMF1iyZInpjKSN2mV/+tOfzA90nQejbdXas47s6V/6eB86G8amf9l/+ctfWq1btzY/9H/yk5+YkAPvAgzvufteeOEFq0ePHuYfQ926dbMee+yxqOPadnrLLbdYHTp0MOf079/f2rRpU95er9/V19ebv9P6c7tp06bWt7/9bTOz5MCBA+FzeM+z89prr8X9+a3h0en7u3v3bhNYdEZPaWmp9fOf/9wEo2yF9H+yW8MBAADILWpgAACA7xBgAACA7xBgAACA7xBgAACA7xBgAACA7xBgAACA7xBgAACA7xBgAACA7xBgAACA7xBgAACA7xBgAACA7xBgAACA+M3/B11r9bOqPCk6AAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 180
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "## 什么是模型\n",
    "模型就是一个函数, y=f(x)"
   ],
   "id": "b416d417c9bd6063"
  },
  {
   "cell_type": "markdown",
   "id": "eaaed1d6b9df30ac",
   "metadata": {},
   "source": [
    "## 定义模型函数\n",
    "\n",
    "我现在想要训练一个模型，用来预测房价，模型是一个简单的线性模型: $$y = w*x$$, w就是模型的参数"
   ]
  },
  {
   "cell_type": "code",
   "id": "409765401ca44cce",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T10:08:24.636811Z",
     "start_time": "2025-06-16T10:08:24.591003Z"
    }
   },
   "source": [
    "w = 0.1\n",
    "y_predict = w * x\n",
    "\n",
    "plt.scatter(x, y)\n",
    "plt.plot(x, y_predict, color='r')\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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mYMNF+3pKda3AD4Zgdm5c6dcc8010rJlS2nSpIn06NFD3n777frjlmXJtGnTpG3btub4oEGDZOvWrUGfsW/fPhk1apQUFxdLaWmpjB07Vvbv3+/F5QJAzGkf/Zo06OvyyMie8sK4frL81osdjaLY61uu7HmyeSS8ABkaYD777DPp37+/FBQUyKuvviobN26U//qv/5LmzZvXnzNz5kx59NFHZfbs2bJy5Upp2rSpDB48WA4d+molv4aXDRs2yOLFi2XhwoWybNkyuf76692+XABwPO1z06AzCCJAhsizdDjERbfddpusWLFC3njjjbDH9du1a9dOfvKTn8hPf/pT81p1dbW0adNGnn32WRk5cqRs2rRJunXrJqtXr5bevXubcxYtWiSXXXaZ/POf/zTvj6WmpkZKSkrMZ+soDgA4lci+RwDc4fTnt+sjMAsWLDCh47vf/a60bt1azj33XHn66afrj2/btk0qKyvNtJFNL7Rv375SUVFhnuujThvZ4UXp+fn5+WbEJpza2lrzmw78AgCngUV3h56/dqd5VEz7ADm2iPfDDz+UWbNmyeTJk+X22283oyg//vGPpVGjRjJmzBgTXpSOuATS5/YxfdTwE3ShDRtKixYt6s8JNWPGDLnrrrvc/u0AyHKJbNQIIP1cH4Gpq6uT8847T+677z4z+qLrVsaNG2fWu3hpypQpZrjJ/tqxY4en3w+A/9k7RsezUSOALA0wWlmk61cCde3aVbZv325+XVZWZh53794ddI4+t4/p4549e4KOHz161FQm2eeEKiwsNHNlgV8AEImTHaPDbdQIIEsDjFYgbd68Oei1LVu2SMeOHc2vO3fubELIkiVL6o/rehVd21JeXm6e62NVVZWsWbOm/pylS5ea0R1dKwMAyXKyY3S4jRoBZOkamEmTJskFF1xgppD+/d//XVatWiVPPfWU+VJ5eXkyceJEueeee+SMM84wgWbq1Kmmsmj48OH1IzZDhgypn3o6cuSITJgwwVQoOalAAoBYnO4Y7fQ8AD4PMH369JGXXnrJrEm5++67TUB5+OGHTV8X2y233CIHDhww62N0pGXAgAGmTLpx4696L8ydO9eEloEDB5rqoxEjRpjeMQDghnh2jAaQA31gMgV9YABEo2tbBjywNOaO0dpxlzJqIAf6wACAH7BjNOBvBBgAOdOgLrSiiB2jAf9i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3PPU4577955rLNHw0q5dO8nPz8+9ERj9TZ9yyikJvVdvPH/gU4t7nnrc89Tjnqce99yf9zzayIuNRbwAAMB3CDAAAMB3CDABCgsL5ec//7l5RGpwz1OPe5563PPU455n/z3P2kW8AAAgezECAwAAfIcAAwAAfIcAAwAAfIcAAwAAfIcAE+CJJ56QTp06SePGjaVv376yatWqdF9SVpgxY4b06dPHdEVu3bq1DB8+XDZv3hx0zqFDh2T8+PHSsmVLOemkk2TEiBGye/futF1ztrn//vtNR+qJEyfWv8Y9d9/OnTvlmmuuMfe0SZMm0qNHD3n77bfrj2vNxLRp06Rt27bm+KBBg2Tr1q1pvWY/O3bsmEydOlU6d+5s7udpp50m06dPD9pDh3uenGXLlskVV1xhuuLq3yEvv/xy0HEn93ffvn0yatQo09yutLRUxo4dK/v370/yyo5/c1iWNW/ePKtRo0bWb3/7W2vDhg3WuHHjrNLSUmv37t3pvjTfGzx4sPXMM89Y69evt9auXWtddtllVocOHaz9+/fXn/PDH/7Qat++vbVkyRLr7bfftvr162ddcMEFab3ubLFq1SqrU6dO1tlnn23ddNNN9a9zz921b98+q2PHjtZ1111nrVy50vrwww+tv/zlL9bf//73+nPuv/9+q6SkxHr55Zet9957z/rWt75lde7c2friiy/Seu1+de+991otW7a0Fi5caG3bts168cUXrZNOOsl65JFH6s/hnifnz3/+s/Wzn/3M+uMf/6ip0HrppZeCjju5v0OGDLHOOecc66233rLeeOMN6/TTT7euvvrqJK/MsggwXzr//POt8ePH1z8/duyY1a5dO2vGjBlpva5stGfPHvN/hNdff908r6qqsgoKCsxfPrZNmzaZcyoqKtJ4pf73+eefW2eccYa1ePFi65vf/GZ9gOGeu+/WW2+1BgwYEPF4XV2dVVZWZv3iF7+of03/OxQWFlovvPBCiq4yuwwbNsz6wQ9+EPTaVVddZY0aNcr8mnvurtAA4+T+bty40bxv9erV9ee8+uqrVl5enrVz586krocpJBE5fPiwrFmzxgx9Be6lpM8rKirSem3ZqLq62jy2aNHCPOq9P3LkSND979Kli3To0IH7nySdIho2bFjQvVXcc/ctWLBAevfuLd/97nfNVOm5554rTz/9dP3xbdu2SWVlZdA91/1edLqae56YCy64QJYsWSJbtmwxz9977z1Zvny5DB061DznnnvLyf3VR5020v9v2PR8/Rm7cuXKpL5/1m7mGI+9e/eaudQ2bdoEva7PP/jgg7RdV7buEq7rMPr37y/du3c3r+n/ARo1amT+kIfefz2GxMybN0/eeecdWb169QnHuOfu+/DDD2XWrFkyefJkuf322819//GPf2zu85gxY+rva7i/Z7jnibntttvMDsgavhs0aGD+Hr/33nvNegvFPfeWk/urjxroAzVs2ND8AzbZ/wYEGKR8RGD9+vXmX0nwjm5nf9NNN8nixYvNonSkJpzrvzLvu+8+81xHYPTP+uzZs02Agfv+8Ic/yNy5c+X555+Xs846S9auXWv+gaQLTrnn2Y8pJBFp1aqVSe+hFRj6vKysLG3XlW0mTJggCxculL/97W9yyimn1L+u91in8aqqqoLO5/4nTqeI9uzZI+edd575145+vf766/Loo4+aX+u/kLjn7tIqjG7dugW91rVrV9m+fbv5tX1f+XvGPTfffLMZhRk5cqSp+Bo9erRMmjTJVD4q7rm3nNxffdS/iwIdPXrUVCYl+9+AACNihnh79epl5lID/zWlz8vLy9N6bdlA135peHnppZdk6dKlpuQxkN77goKCoPuvZdb6Fz/3PzEDBw6UdevWmX+R2l86OqBD6/avuefu0mnR0PYAujajY8eO5tf6517/wg685zr9oesAuOeJOXjwoFlLEUj/Map/fyvuubec3F991H8o6T+qbPpzQP8b6VqZpCS1BDjLyqh15fSzzz5rVk1ff/31poy6srIy3ZfmezfccIMps/u///s/a9euXfVfBw8eDCrp1dLqpUuXmpLe8vJy8wX3BFYhKe65++XqDRs2NKW9W7dutebOnWsVFRVZc+bMCSo51b9X5s+fb73//vvWlVdeSUlvEsaMGWOdfPLJ9WXUWurbqlUr65Zbbqk/h3uefCXju+++a740Mjz44IPm1x9//LHj+6tl1Oeee65pL7B8+XJTGUkZtcsee+wx8xe69oPRsmqtWUfy9A99uC/tDWPTP+w/+tGPrObNm5u/9L/97W+bkAPvAgz33H1/+tOfrO7du5t/DHXp0sV66qmngo5r2enUqVOtNm3amHMGDhxobd68OW3X63c1NTXmz7T+vd24cWPr1FNPNT1Lamtr68/hnifnb3/7W9i/vzU8Or2/n376qQks2qOnuLjY+v73v2+CUbLy9H+SG8MBAABILdbAAAAA3yHAAAAA3yHAAAAA3yHAAAAA3yHAAAAA3yHAAAAA3yHAAAAA3yHAAAAA3yHAAAAA3yHAAAAA3yHAAAAA3yHAAAAA8Zv/D/8vGCI1gEmTAAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 196
  },
  {
   "cell_type": "markdown",
   "id": "58579e8f6c9f858b",
   "metadata": {},
   "source": [
    "## 开始训练"
   ]
  },
  {
   "cell_type": "code",
   "id": "56a6d12d249348fc",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T10:14:20.950014Z",
     "start_time": "2025-06-16T10:14:20.902877Z"
    }
   },
   "source": [
    "epoch = 2 # 超参数\n",
    "w = 0.1   # 参数\n",
    "\n",
    "for _ in range(epoch):\n",
    "    for i in range(len(x)):\n",
    "        y_predict = w * x[i]\n",
    "        print(y_predict)\n",
    "        loss = y_predict - y[i]\n",
    "        w = w - loss\n",
    "\n",
    "print(w)\n",
    "\n",
    "y_predict = w * x\n",
    "plt.scatter(x, y)\n",
    "plt.plot(x, y_predict, color='r')\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.2\n",
      "7803.599999999999\n",
      "-123330.59999999999\n",
      "4551608.1\n",
      "-412400613.5999999\n",
      "38348917777.59999\n",
      "-3414685462307.999\n",
      "232995371444389.12\n",
      "-1.5614066631237846e+16\n",
      "1.0922958083059103e+18\n",
      "-3.446116352965123e+19\n",
      "7.344535477256918e+20\n",
      "-1.5423524502239529e+22\n",
      "1.1483515061212885e+24\n",
      "-1.5870806712804474e+25\n",
      "3.536922638853568e+26\n",
      "-3.186177810500589e+28\n",
      "1.7337552660330333e+30\n",
      "-1.668187794153966e+32\n",
      "5.118612956143852e+33\n",
      "-1.9813985636685878e+34\n",
      "5.201171229630043e+35\n",
      "-1.3641929110858228e+37\n",
      "5.911502614705232e+38\n",
      "-4.392903276349843e+40\n",
      "3.207975418913372e+42\n",
      "-6.329248799477734e+43\n",
      "5.2912519963633866e+45\n",
      "-7.323573785875687e+46\n",
      "5.2363552569011165e+48\n",
      "-3.4627949309273356e+50\n",
      "1.6032223695129247e+52\n",
      "-4.7073337658039065e+53\n",
      "1.2286141128748196e+55\n",
      "-4.14088460265217e+56\n",
      "1.2067720842014893e+58\n",
      "-6.999278088368638e+59\n",
      "2.7530493814249977e+61\n",
      "-1.3957960363824737e+63\n",
      "1.0130258156360492e+65\n",
      "-9.093960126040912e+66\n",
      "4.49701324914111e+68\n",
      "-1.0136267863564063e+70\n",
      "1.2604228734692705e+71\n",
      "-8.958697962196969e+72\n",
      "5.482257765957417e+74\n",
      "-1.887841988761143e+76\n",
      "1.1003421877350662e+77\n",
      "-3.4844169278277094e+78\n",
      "2.1713419171305304e+80\n",
      "-1.9450473767045828e+82\n",
      "7.30995827288975e+83\n",
      "-6.975239130920588e+85\n",
      "3.9353160362101972e+87\n",
      "-1.159882621198795e+88\n",
      "4.6395304847951797e+89\n",
      "-5.0184254743867855e+90\n",
      "4.2884726781123434e+92\n",
      "-4.200422122061739e+94\n",
      "7.484388508400917e+95\n",
      "-1.837833178174003e+97\n",
      "4.4178682167644305e+98\n",
      "-4.665268836903239e+99\n",
      "1.6540498603566026e+101\n",
      "-1.0959140613234515e+103\n",
      "3.239393034206085e+103\n",
      "-7.990502817708343e+104\n",
      "3.654035342584464e+106\n",
      "-1.0371240738314203e+108\n",
      "2.503402936834463e+109\n",
      "-2.2350381420058085e+111\n",
      "2.4321060211934172e+112\n",
      "-5.9697147792929334e+113\n",
      "1.322181273339694e+115\n",
      "-6.955823220613173e+116\n",
      "1.0926965932017784e+118\n",
      "-9.219627505140004e+119\n",
      "2.0057811838960141e+121\n",
      "-1.0530351215454075e+123\n",
      "4.1355561137056004e+124\n",
      "-2.2580136380832578e+126\n",
      "1.5302074565224934e+128\n",
      "-4.071682449529417e+129\n",
      "8.233846731270598e+130\n",
      "-1.4115165825035311e+132\n",
      "8.131903866978676e+133\n",
      "-3.279423526683204e+135\n",
      "2.5275556937363228e+137\n",
      "-5.7397910310923586e+138\n",
      "4.392187919444587e+139\n",
      "-8.45496174493083e+140\n",
      "4.2774420100490974e+142\n",
      "-4.112800845888717e+144\n",
      "5.699166886445793e+145\n",
      "-2.5931209333328358e+147\n",
      "1.6257280626935656e+149\n",
      "-1.0882217219655055e+151\n",
      "3.2166553840450974e+151\n",
      "-8.7921913830566e+152\n",
      "5.3182035682878947e+154\n",
      "-1.046485218276005e+155\n",
      "4.3952379167592215e+156\n",
      "-7.817244580521759e+157\n",
      "2.8793517538255143e+159\n",
      "-2.6091356661588124e+161\n",
      "2.4262156173055282e+163\n",
      "-2.160364331579497e+165\n",
      "1.4740885955810769e+167\n",
      "-9.878529950676665e+168\n",
      "6.910612790495425e+170\n",
      "-2.1802496691140497e+172\n",
      "4.646657107299318e+173\n",
      "-9.757979925328567e+174\n",
      "7.265259598949179e+176\n",
      "-1.0040961343163096e+178\n",
      "2.2376999564763472e+179\n",
      "-2.0157947107924428e+181\n",
      "1.0968925474152495e+183\n",
      "-1.055410065622091e+185\n",
      "3.2383857829853344e+186\n",
      "-1.2535686901878713e+187\n",
      "3.290617811743162e+188\n",
      "-8.630820431943494e+189\n",
      "3.740022187175514e+191\n",
      "-2.7792520430922037e+193\n",
      "2.029585373573912e+195\n",
      "-4.004317088402584e+196\n",
      "3.3476090859045603e+198\n",
      "-4.63339530299063e+199\n",
      "3.3128776416383005e+201\n",
      "-2.1908016819769123e+203\n",
      "1.0143084802227436e+205\n",
      "-2.978182346185928e+206\n",
      "7.773055923545273e+207\n",
      "-2.6198077371948883e+209\n",
      "7.634868262682246e+210\n",
      "-4.4282235923557026e+212\n",
      "1.7417679463265765e+214\n",
      "-8.830763487875743e+215\n",
      "6.409096423700588e+217\n",
      "-5.753463181438244e+219\n",
      "2.8451191556562743e+221\n",
      "-6.412898576849243e+222\n",
      "7.974299969473406e+223\n",
      "-5.6678870552257134e+225\n",
      "3.4684524421069562e+227\n",
      "-1.1943783812739277e+229\n",
      "6.961519707996607e+229\n",
      "-2.204481240865592e+231\n",
      "1.3737398890446638e+233\n",
      "-1.2305704349832903e+235\n",
      "4.624781195211926e+236\n",
      "-4.4130148983785376e+238\n",
      "2.4897509564423402e+240\n",
      "-7.338213345303739e+240\n",
      "2.9352853381214955e+242\n",
      "-3.1750003074014175e+243\n",
      "2.7131820808703023e+245\n",
      "-2.657475257294987e+247\n",
      "4.735137731180158e+248\n",
      "-1.1627393762120166e+250\n",
      "2.795046577432732e+251\n",
      "-2.951569185768965e+252\n",
      "1.046465438590815e+254\n",
      "-6.933504341842733e+255\n",
      "2.049462312809396e+256\n",
      "-5.055340371596509e+257\n",
      "2.311793488848998e+259\n",
      "-6.56155854069056e+260\n",
      "1.5838244753391007e+262\n",
      "-1.414038491582749e+264\n",
      "1.538717154281443e+265\n",
      "-3.776851196872633e+266\n",
      "8.365025984184572e+267\n",
      "-4.4007310612449274e+269\n",
      "6.913148430755668e+270\n",
      "-5.832968988450095e+272\n",
      "1.2689948088205872e+274\n",
      "-6.662222746308083e+275\n",
      "2.6164365694591744e+277\n",
      "-1.4285743669247092e+279\n",
      "9.681142361570127e+280\n",
      "-2.5760257066438775e+282\n",
      "5.209296428990952e+283\n",
      "-8.930222449698774e+284\n",
      "5.14480037796535e+286\n",
      "-2.0747883491466823e+288\n",
      "1.5991051666593942e+290\n",
      "-3.63138565694551e+291\n",
      "2.7787994592278683e+292\n",
      "-5.349188959013647e+293\n",
      "2.7062033233555407e+295\n",
      "-2.602040025626384e+297\n",
      "3.6056840355108465e+298\n",
      "-1.640586236157435e+300\n",
      "1.0285471260154368e+302\n",
      "-6.88483732476583e+303\n",
      "2.0350769151146057e+304\n",
      "-5.5625435679799225e+305\n",
      "3.3646604996561485e+307\n",
      "-3.310391781919759e+307\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/var/folders/vl/mkwcfmqd5kb3rykv5bb3w3n40000gn/T/ipykernel_1300/393460432.py:13: RuntimeWarning: overflow encountered in multiply\n",
      "  y_predict = w * x\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAGsCAYAAAAVGEevAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAKdFJREFUeJzt3Qt4FNX9//FvIBCuSQSBkBouETUgyFUg+SHSksqtKEpRLIqxCJaKguAlUUGqYryhFuSRHzxV8G8UpRVKU0ubAoqXCAFEAUlERYnBkFqahBAIkMz/Ocfu/pK4l9nNbpKzeb+eZ9js7FzOnJmdfDJzzhBmWZYlAAAAhmjW0AUAAADwBeEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABglpMPL9u3bZeLEiRIbGythYWGyceNGn+bPy8uTn/70p9KlSxdp1aqVxMfHy0MPPSRnz56tMd369eslISFBT9OvXz95++23a3xeVlYmc+bMkQsuuEBat24tffr0kZUrVwZkGwEAaGpCOrycPHlS+vfvLytWrPBr/hYtWsj06dPlH//4hw4yzz//vKxevVoefvhh5zQffvih3HjjjTJjxgz5+OOPZdKkSXrYv3+/c5r58+fL5s2b5dVXX5WDBw/KvHnzdJjZtGlTQLYTAICmJKyp/MeM6srLhg0bdLBwqKiokAcffFBef/11KS4ulr59+8qTTz4po0aNcrscFURycnLkvffe0+9vuOEGHZIyMzOd0wwfPlwGDBjgvLqilqumW7hwoXOawYMHy7hx4+Sxxx4L0hYDABCaQvrKizfq6kd2drasW7dOPv30U5kyZYqMHTtWDh065HL6L774Ql9BufLKK53j1PzJyck1phszZowe75CUlKSvshQUFIjKitu2bZPPP/9crrrqqiBuHQAAoanJhpcjR47Iyy+/rNurXHHFFXLhhRfKPffcIyNGjNDjq1PhQ7Vnueiii/S0jzzyiPOzwsJC3SamOvVejXdYvny5buei2ry0bNlSByR1K2vkyJH1sKUAAISWcGmi9u3bJ5WVlXLxxRfXGK9uJXXs2LHGuDfeeENOnDghn3zyidx7773yzDPPyH333Wd7XSq8fPTRR/rqS/fu3XVD4jvuuEM3JK591QYAAHjWZMOL6gHUvHlz2b17t36trl27djXex8XF6Vd19UQFnlmzZsmCBQv0fDExMXLs2LEa06v3arxy6tQpeeCBB3R7mwkTJuhxl112mezdu1eHIMILAAC+abK3jQYOHKiDSFFRkfTq1avG4AgerlRVVemu0upVSUxMlC1bttSYJisrS49X1LRqaNasZlWr4ONYBgAAsC881K+uqEa2DocPH9ZXPDp06KBvF02bNk13hV66dKkOM//61790EFFXRtRVkoyMDN1dWj27JSIiQnbt2iVpaWm655Aar8ydO1c34FXLUPOoxr9qulWrVunPIyMj9efqdpN6xou6bfTuu+/KK6+8Is8++2yD1Q0AAMayQti2bdtUN/AfDbfccov+/MyZM9aiRYusHj16WC1atLC6du1qXXvttdann36qP1+3bp01aNAgq127dlbbtm2tPn36WI8//rh16tSpGut58803rYsvvthq2bKldemll1p//etfa3z+3XffWSkpKVZsbKzVqlUr65JLLrGWLl1qVVVV1WNtAAAQGprMc14AAEBoaLJtXgAAgJkILwAAwCgh12BX9eA5evSotG/fXv+XAAAAoPFTrVjUM9XUM9Bq99AN+fCigovjuSwAAMAs+fn5+on0TSq8qCsujo1X3ZQBAEDjV1paqi8+OH6PN6nw4rhVpIIL4QUAALPYafJBg10AAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCgh95C6YKmssmTn4eNSdOK0dG7fSob27CBnzlXJ429/Jl//u1x6dGwj94/tLfsKSmpM07xZmNfl1J7Gl+lqO3WmskaZHhjfR1q3bO7zttidr3aZ7Kzf1bIGdz9Pdn/znxrLVsu6+42P5ch/Tkm381rLczcM1OvzVudq2f8v+2v55ni5dO/QRn41rLvszS/2uux2rcK9bm/tZd+c2EOXydu2BGrfuSrXgLhoeW3HNzXKpNQuZ+1xN1zeTd7IOVJjmpbh/v09Y+fYUMdY7TLVXp+r5Sjelu3vfK7qXJXJn2W5UnubXR2Lro6p2vVip+7s7pfa3/V7rkqQP+7O97psf89J/u53O99jf/eLHf5ur7/LclVPij/HRmWVZetc4o3d70eg6twXYZb6n5CCbMWKFfL0009LYWGh9O/fX5YvXy5Dhw51O/369etl4cKF8vXXX8tFF10kTz75pIwfP97244WjoqKkpKQkYE/Y3bz/O/ndXz6T70pOO8epHagOGk+6RrWShyf2kbF9u7pdTu1pfJmutpmv5EjWZ0U/Gv/zPp1l9fTL3S47IryZVLjYFm/z1S6TnfW7W5Y69quqHYnhzcLkXPURNrVp2VxOna0UT0e1u2VfdkGkbJpzhdsytm3ZXMrPVEr1OdWDIFu3+GG8u20J1L5zVy5X1KnEsjGuOlXumVf0lLTxfcQXdo6N9Lc/k9XvHa5RL7XX52o50W1a6Nfi8rNul+3vfO7qvPb3wc6yXHG1zXaO19r1YqfuAnnecrVsf89J/u53O99jf/eLHf5ur7/LclVPrr6vdo4Nd2qfS7yx+/0IVJ37+vs76OHljTfekOnTp8vKlStl2LBh8vzzz+twkpeXJ507d/7R9B9++KGMHDlS0tPT5Re/+IW89tprOrzs2bNH+vbtW+/hRR14s1/d4/Gk744ji7540yD96mo51adRO9/d+mpPZ/dAq37gTh50gc/b4mm+6mX6055vva5ffXHqUp/1QQWY347qFdAyBmLf1Wfd3T7SfoCxc7x+fOQ/8r/bD3tc38Bu59neNjvfK2/zeTte67pP1S8VT9tsh6oXxVvdudpXgThWHMv295zkrQ583e92eCuTHf5ub7C+H/4eG3UJMN7OSYGu80YZXlRgufzyy+WFF17Q76uqqvR/vHTnnXdKamrqj6a/4YYb5OTJk5KZmekcN3z4cBkwYIAOQPUZXtSltxFPbvX6V663HdslMkL/VFh62u00MVGt5N17fypXPr3N7foc071//89qXKZTl/Z6L9rstSyd27WQorL/+yvFri7tI+TYiQqP21dY6vrz6vYvHiM/f+7dOtVnfejcrqUUlZ0J6DLruu/qs+5U8XIfHef1toS374fays7tW8q/ys54/Mvwh2Ooldvvh6f6VKcvO8deXdbl6z5VVzYSFv7N1l/DnqhFqrOz5eO+CsR5y7HsA78bKz9b+o7P5yQ7daAm79SupRw7UT/fNTvsHNN2l21nWercWXSiwudjJey/V339OcYOPjLW4y0ku+ekQNW5v7+/g9pg98yZM7J7925JTk7+vxU2a6bfZ2dnu5xHja8+vTJmzBi301dUVOgNrj4EirqvV9cTgDq21MnV08lSTaPWo+5belqfYzpVrurUPUk7/Akuirvg4iiT3V8eqo1JYw8uSqCDSyD2XX3WnTohqmOxrt8Ptc3qF5O3E+wPx9Bpv+rTl+Di77p83aeq7uoaXBS1DMuPfRWI85Zj2er49OecZKcO1OeBDi6eymSHnWPa7rLtLEsdv/4cK9Z/688f3s45ds9JgapzfwU1vHz//fdSWVkpXbp0qTFevVftX1xR432ZXt1eUknNMairOoGiGiTVJ9Xgyp9yqcZUJlCNY5s6f/ddfdednWOxvr8fjVXterD7PQ6U2usL5H6xe3w2dB244k892J3HznSN9fvxtZd9WpffJ/W5zcZ3lU5LS9OXmBxDfn5+wJatWlLXJ9VS3J9yqVbgJlC9epo6f/ddfdednWOxvr8fjVXterD7PQ6U2usL5H6xe3w2dB244k892J3HznSN9fvRw8s+rcvvk/rc5qCGl/PPP1+aN28ux44dqzFevY+JiXE5jxrvy/QRERH63lj1IVBUFzDVkrouncD0vcDICImJdL8cNV6tR3Vx87Q+x3SOLoIOqvuaHarNiz/botq8hHnZPjtUd+S61md9tXkJdBnruu/qs+7ULWtHN826fD/0Pf32LfXyPPnhGPJt2xz1qY49X+dT6wrmPlV1F4ieo2oZYX7sq0CctxzLVsenP+ckO3WgPlfHR3191+ywc0zbXbadZanj159jJey/9ecPb+ccu+ekQNV5owwvLVu2lMGDB8uWLVuc41SDXfU+MTHR5TxqfPXplaysLLfTB5NqeKS6gCn+HCeOeRZffaksvtr1chzv1XpUozt366s+Xe0GUarxlWpF7on6/JFJ/XzeFjXf76651GOZ1PbZWb96jkpd6rO+ehs9MqlvQMsYiH1Xn3WnumLaeYaIp++H4/3vrumrl+fJrJE93X4/vNWnOvZ8nU+ty1ud12Wfqrrzts12qGWouvF1X9X1vFV92er49OecZKcO1Ofq+KhrOe2WyQ47x7TdZdtZljp+/TlWZo3s6dd86rj39rwXO+ekQNZ5o71tNH/+fFm9erWsXbtWDh48KLNnz9a9iW699Vb9uepGrW79OMydO1c2b94sS5culdzcXFm8eLHs2rVL5syZIw1Bdf1SXcBUS+rq7Jzc1TyO7mPullN9Gk/rqz1dbar7m7sDztE9zt2yVb99f+arXiY76/e0fbWPefUsFn+o50OoVvieuFu24zkv7srYNqL5j09CYT+ss7raiw/EvlPclcsVV1to5694X7pJeypT9W1Wy1PLrV0v1dfnbjnntWnhfJ6Hq2W7my/ay3ye6rz298FbGVxxt821tXVxvFavFzt154qv33VPy/b3nFSX/W7ne+xtH/vL3+31d1nu6snV5ts5NgLxnBdfvh+BqPNG+5A61U3a8ZA61eV52bJlugu1MmrUKOnRo4esWbPGOb16DsxDDz3kfEjdU0891aAPqVN4wi5P2OUJu+7xhF3XeMIuT9i1uyyesCuN6zkv9S1Y4QUAAARPo3nOCwAAQKARXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGCWp4OX78uEybNk0iIyMlOjpaZsyYIWVlZR6nv/POO+WSSy6R1q1bS7du3eSuu+6SkpKSYBYTAAAYJKjhRQWXAwcOSFZWlmRmZsr27dtl1qxZbqc/evSoHp555hnZv3+/rFmzRjZv3qxDDwAAgBJmWZYVjKo4ePCg9OnTR3JycmTIkCF6nAoi48ePl2+//VZiY2NtLWf9+vVy0003ycmTJyU8PNzr9KWlpRIVFaWv1qgrPgAAoPHz5fd30K68ZGdn61tFjuCiJCcnS7NmzWTHjh22l+PYCHfBpaKiQm9w9QEAAISuoIWXwsJC6dy5c41xKoB06NBBf2bH999/L48++qjHW03p6ek6qTmGuLi4OpcdAACEUHhJTU2VsLAwj0Nubm6dC6auoEyYMEHfelq8eLHb6dLS0vTVGceQn59f53UDAIDGy3sjkloWLFggKSkpHqeJj4+XmJgYKSoqqjH+3LlzukeR+syTEydOyNixY6V9+/ayYcMGadGihdtpIyIi9AAAAJoGn8NLp06d9OBNYmKiFBcXy+7du2Xw4MF63NatW6WqqkqGDRvm8YrLmDFjdCDZtGmTtGrVytciAgCAEBa0Ni+9e/fWV09mzpwpO3fulA8++EDmzJkjU6dOdfY0KigokISEBP25I7hcddVVumfRH/7wB/1etY9RQ2VlZbCKCgAAQvnKiy8yMjJ0YBk9erTuZTR58mRZtmyZ8/OzZ89KXl6elJeX6/d79uxx9kTq1atXjWUdPnxYevToEcziAgCApvycl4bCc14AADBPo3jOCwAAQDAQXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGCWp4OX78uEybNk0iIyMlOjpaZsyYIWVlZbbmtSxLxo0bJ2FhYbJx48ZgFhMAABgkqOFFBZcDBw5IVlaWZGZmyvbt22XWrFm25n3++ed1cAEAAKguXILk4MGDsnnzZsnJyZEhQ4boccuXL5fx48fLM888I7GxsW7n3bt3ryxdulR27dolXbt2DVYRAQCAgYJ25SU7O1vfKnIEFyU5OVmaNWsmO3bscDtfeXm5/OpXv5IVK1ZITEyM1/VUVFRIaWlpjQEAAISuoIWXwsJC6dy5c41x4eHh0qFDB/2ZO3fffbckJSXJNddcY2s96enpEhUV5Rzi4uLqXHYAABBC4SU1NVW3RfE05Obm+lWYTZs2ydatW3V7F7vS0tKkpKTEOeTn5/u1bgAAEKJtXhYsWCApKSkep4mPj9e3fIqKimqMP3funO6B5O52kAouX375pb7dVN3kyZPliiuukHfeeedH80REROgBAAA0DT6Hl06dOunBm8TERCkuLpbdu3fL4MGDneGkqqpKhg0b5vaqzm233VZjXL9+/eS5556TiRMn+lpUAAAQgoLW26h3794yduxYmTlzpqxcuVLOnj0rc+bMkalTpzp7GhUUFMjo0aPllVdekaFDh+orMq6uynTr1k169uwZrKICAACDBPU5LxkZGZKQkKADiuoiPWLECFm1apXzcxVo8vLydA8jAAAAO8Is9SjbEKK6SqteR6rxrnqyLwAACK3f3/zfRgAAwCiEFwAAYBTCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRghZejh8/LtOmTZPIyEiJjo6WGTNmSFlZmdf5srOz5Wc/+5m0bdtWzzty5Eg5depUsIoJAAAME7TwooLLgQMHJCsrSzIzM2X79u0ya9Ysr8Fl7NixctVVV8nOnTslJydH5syZI82acYEIAAD8IMyyLEsC7ODBg9KnTx8dPoYMGaLHbd68WcaPHy/ffvutxMbGupxv+PDh8vOf/1weffRRv9ddWloqUVFRUlJSoq/cAACAxs+X399BuaShrqCoW0WO4KIkJyfrKyg7duxwOU9RUZH+rHPnzpKUlCRdunSRK6+8Ut5//32P66qoqNAbXH0AAAChKyjhpbCwUIeQ6sLDw6VDhw76M1e++uor/bp48WKZOXOmvlIzaNAgGT16tBw6dMjtutLT03VScwxxcXEB3hoAAGBseElNTZWwsDCPQ25url8Fqaqq0q+333673HrrrTJw4EB57rnn5JJLLpGXXnrJ7XxpaWn6EpNjyM/P92v9AADADOG+TLxgwQJJSUnxOE18fLzExMTo20DVnTt3TvdAUp+50rVrV/2q2spU17t3bzly5Ijb9UVEROgBAAA0DT6Fl06dOunBm8TERCkuLpbdu3fL4MGD9bitW7fqqyvDhg1zOU+PHj10Q968vLwa4z///HMZN26cL8UEAAAhLChtXtTVEtXlWbVdUV2eP/jgA93leerUqc6eRgUFBZKQkKA/V9Qtp3vvvVeWLVsmf/zjH+WLL76QhQsX6ttQ6hkxAAAAPl958UVGRoYOLKrBreplNHnyZB1MHM6ePauvspSXlzvHzZs3T06fPi133323vsXUv39//ZyYCy+8kL0FAACC95yXhsRzXgAAME+DP+cFAAAgWAgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYJWng5fvy4TJs2TSIjIyU6OlpmzJghZWVlHucpLCyUm2++WWJiYqRt27YyaNAg+dOf/hSsIgIAAAMFLbyo4HLgwAHJysqSzMxM2b59u8yaNcvjPNOnT5e8vDzZtGmT7Nu3T6677jq5/vrr5eOPPw5WMQEAgGHCLMuyAr3QgwcPSp8+fSQnJ0eGDBmix23evFnGjx8v3377rcTGxrqcr127dvLiiy/qqy8OHTt2lCeffFJuu+02W+suLS2VqKgoKSkp0Vd9AABA4+fL7++gXHnJzs7Wt4ocwUVJTk6WZs2ayY4dO9zOl5SUJG+88Ya+5VRVVSXr1q2T06dPy6hRo9zOU1FRoTe4+gAAAEJXUMKLarvSuXPnGuPCw8OlQ4cO+jN33nzzTTl79qy+2hIRESG33367bNiwQXr16uV2nvT0dJ3UHENcXFxAtwUAABgcXlJTUyUsLMzjkJub63dhFi5cKMXFxfLPf/5Tdu3aJfPnz9dtXlT7F3fS0tL0JSbHkJ+f7/f6AQBA4xfuy8QLFiyQlJQUj9PEx8fr3kJFRUU1xp87d07fDlKfufLll1/KCy+8IPv375dLL71Uj+vfv7+89957smLFClm5cqXL+dQVGjUAAICmwafw0qlTJz14k5iYqK+g7N69WwYPHqzHbd26VbdjGTZsmMt5ysvL9atqF1Nd8+bN9XwAAABBa/PSu3dvGTt2rMycOVN27twpH3zwgcyZM0emTp3q7GlUUFAgCQkJ+nNF/azatqh2LmqcuhKzdOlS3dV60qRJ7C0AABDc57xkZGToQDJ69GjdRXrEiBGyatUq5+eqYa56povjikuLFi3k7bff1ld2Jk6cKJdddpm88sorsnbtWj0/AABA0J7z0pB4zgsAAOZp8Oe8AAAABAvhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGCUoIWXJUuWSFJSkrRp00aio6NtzWNZlixatEi6du0qrVu3luTkZDl06FCwiggAAAwUtPBy5swZmTJlisyePdv2PE899ZQsW7ZMVq5cKTt27JC2bdvKmDFj5PTp08EqJgAAMEyYpS53BNGaNWtk3rx5Ulxc7HE6VYzY2FhZsGCB3HPPPXpcSUmJdOnSRS9j6tSpttZXWloqUVFRet7IyMiAbAMAAAguX35/N5o2L4cPH5bCwkJ9q8hBbcSwYcMkOzvb7XwVFRV6g6sPAAAgdDWa8KKCi6KutFSn3js+cyU9PV2HHMcQFxcX9LICAABDwktqaqqEhYV5HHJzc6U+paWl6UtMjiE/P79e1w8AAOpXuC8Tq/YoKSkpHqeJj4/3qyAxMTH69dixY7q3kYN6P2DAALfzRURE6AEAADQNPoWXTp066SEYevbsqQPMli1bnGFFtV9RvY586bEEAABCW9DavBw5ckT27t2rXysrK/XPaigrK3NOk5CQIBs2bNA/q1tOqlfSY489Jps2bZJ9+/bJ9OnTdQ+kSZMmBauYAAAglK+8+EI9bG7t2rXO9wMHDtSv27Ztk1GjRumf8/LydDsVh/vuu09Onjwps2bN0l2rR4wYIZs3b5ZWrVoFq5gAAMAwQX/OS33jOS8AAJjHyOe8AAAA2EF4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABglaOFlyZIlkpSUJG3atJHo6Giv0589e1buv/9+6devn7Rt21ZiY2Nl+vTpcvTo0WAVEQAAGCho4eXMmTMyZcoUmT17tq3py8vLZc+ePbJw4UL9+tZbb0leXp5cffXVwSoiAAAwUJhlWVYwV7BmzRqZN2+eFBcX+zxvTk6ODB06VL755hvp1q2brXlKS0slKipKSkpKJDIy0o8SAwCA+ubL7+9wacTUBoSFhXm87VRRUaGH6hsPAABCV6NtsHv69GndBubGG2/0mMDS09N1UnMMcXFx9VpOAADQiMNLamqqvhLiacjNza1zoVTj3euvv17UHa0XX3zR47RpaWn6Co1jyM/Pr/P6AQBA4+XTbaMFCxZISkqKx2ni4+MDElxUO5etW7d6ve8VERGhBwAA0DT4FF46deqkh2BxBJdDhw7Jtm3bpGPHjkFbFwAAMFPQ2rwcOXJE9u7dq18rKyv1z2ooKytzTpOQkCAbNmxwBpdf/vKXsmvXLsnIyNDzFBYW6kF1uwYAAAhqb6NFixbJ2rVrne8HDhyoX9UVlVGjRumf1XNcVDsVpaCgQDZt2qR/HjBgQI1lVZ8HAAA0bUF/zkt94zkvAACE9u/vRttVGgAAwBXCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAohBcAAGAUwgsAADAK4QUAABiF8AIAAIxCeAEAAEYhvAAAAKMQXgAAgFEILwAAwCiEFwAAYBTCCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAACMQngBAABGIbwAAACjEF4AAIBRCC8AAMAo4RJiLMvSr6WlpQ1dFAAAYJPj97bj93iTCi8nTpzQr3FxcQ1dFAAA4Mfv8aioKI/ThFl2Io5Bqqqq5OjRo9K+fXsJCwvzKfGpwJOfny+RkZFBLSN+QJ3XP+q8/lHn9Yv6NrfOVRxRwSU2NlaaNWvWtK68qA2+4IIL/J5fVTwHfP2izusfdV7/qPP6RX2bWeferrg40GAXAAAYhfACAACMQnj5r4iICHn44Yf1K+oHdV7/qPP6R53XL+q7adR5yDXYBQAAoY0rLwAAwCiEFwAAYBTCCwAAMArhBQAAGIXwIiIrVqyQHj16SKtWrWTYsGGyc+fOhi5SyEhPT5fLL79cP/G4c+fOMmnSJMnLy6sxzenTp+WOO+6Qjh07Srt27WTy5Mly7NixBitzKHniiSf0k6bnzZvnHEd9B0dBQYHcdNNNul5bt24t/fr1k127djk/V30jFi1aJF27dtWfJycny6FDhxq0zCarrKyUhQsXSs+ePXV9XnjhhfLoo4/W+H9xqPO62b59u0ycOFE/8VadRzZu3Fjjczv1e/z4cZk2bZp+eF10dLTMmDFDysrK6liyH1bepK1bt85q2bKl9dJLL1kHDhywZs6caUVHR1vHjh1r6KKFhDFjxlgvv/yytX//fmvv3r3W+PHjrW7dulllZWXOaX7zm99YcXFx1pYtW6xdu3ZZw4cPt5KSkhq03KFg586dVo8ePazLLrvMmjt3rnM89R14x48ft7p3726lpKRYO3bssL766ivr73//u/XFF184p3niiSesqKgoa+PGjdYnn3xiXX311VbPnj2tU6dONWjZTbVkyRKrY8eOVmZmpnX48GFr/fr1Vrt27azf//73zmmo87p5++23rQcffNB66623VCK0NmzYUONzO/U7duxYq3///tZHH31kvffee1avXr2sG2+8sY4ls6wmH16GDh1q3XHHHc73lZWVVmxsrJWent6g5QpVRUVF+kvw7rvv6vfFxcVWixYt9InH4eDBg3qa7OzsBiyp2U6cOGFddNFFVlZWlnXllVc6wwv1HRz333+/NWLECLefV1VVWTExMdbTTz/tHKf2RUREhPX666/XUylDy4QJE6xf//rXNcZdd9111rRp0/TP1Hlg1Q4vdur3s88+0/Pl5OQ4p/nb3/5mhYWFWQUFBXUqT5O+bXTmzBnZvXu3vtRV/f9GUu+zs7MbtGyhqqSkRL926NBBv6r6P3v2bI19kJCQIN26dWMf1IG6LTRhwoQa9apQ38GxadMmGTJkiEyZMkXfHh04cKCsXr3a+fnhw4elsLCwRr2r/8NF3aam3v2TlJQkW7Zskc8//1y//+STT+T999+XcePG6ffUeXDZqV/1qm4Vqe+Gg5pe/Z7dsWNHndYfcv8xoy++//57fd+0S5cuNcar97m5uQ1WrlCl/sdv1fbif/7nf6Rv3756nDr4W7ZsqQ/w2vtAfQbfrVu3Tvbs2SM5OTk/+oz6Do6vvvpKXnzxRZk/f7488MADuu7vuusuXde33HKLs25dnWuod/+kpqbq/81Yhe/mzZvrc/mSJUt0+wqFOg8uO/WrXlWYry48PFz/8VrXfdCkwwvq/2rA/v379V9HCA71X9LPnTtXsrKydAN01F8wV39dPv744/q9uvKijvWVK1fq8ILAe/PNNyUjI0Nee+01ufTSS2Xv3r36jyPVuJQ6D31N+rbR+eefrxN77Z4W6n1MTEyDlSsUzZkzRzIzM2Xbtm1ywQUXOMerela374qLi2tMzz7wj7otVFRUJIMGDdJ/4ajh3XfflWXLlumf1V9F1Hfgqd4Wffr0qTGud+/ecuTIEf2zo2451wTOvffeq6++TJ06Vffsuvnmm+Xuu+/WPRwV6jy47NSvelXno+rOnTuneyDVdR806fCiLukOHjxY3zet/heUep+YmNigZQsVqp2XCi4bNmyQrVu36m6N1an6b9GiRY19oLpSq5M++8B3o0ePln379um/Qh2DuiKgLqU7fqa+A0/dCq39CADVFqN79+76Z3Xcq5N19XpXtzzUfX/q3T/l5eW67UR16o9RdQ5XqPPgslO/6lX9oaT+qHJQvwfUPlJtY+rEauJUV2nVOnrNmjW6ZfSsWbN0V+nCwsKGLlpImD17tu5K984771jfffedcygvL6/RdVd1n966davuupuYmKgHBEb13kYK9R2cbunh4eG6++6hQ4esjIwMq02bNtarr75ao1upOrf8+c9/tj799FPrmmuuodtuHdxyyy3WT37yE2dXadWd9/zzz7fuu+8+5zTUed17LX788cd6UHHh2Wef1T9/8803tutXdZUeOHCgfoTA+++/r3tB0lU6QJYvX65P5up5L6rrtOqPjsBQB7yrQT37xUEd6L/97W+t8847T5/wr732Wh1wEJzwQn0Hx1/+8herb9+++o+hhIQEa9WqVTU+V11LFy5caHXp0kVPM3r0aCsvL6/Bymu60tJSfVyrc3erVq2s+Ph4/UySiooK5zTUed1s27bN5flbBUe79fvvf/9bhxX1DJ7IyEjr1ltv1aGorsLUP3W7dgMAAFB/mnSbFwAAYB7CCwAAMArhBQAAGIXwAgAAjEJ4AQAARiG8AAAAoxBeAACAUQgvAADAKIQXAABgFMILAAAwCuEFAAAYhfACAADEJP8fukv1wXzHfnYAAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 201
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "## 数据归一化\n",
    "\n",
    "因为x和y本身值比较大，再训练多轮后，主要因为有乘法，所以有可能会产生溢出，所以需要做归一化处理。\n",
    "\n",
    "在机器学习中，归一化（Normalization）指的是将数据按特定比例进行缩放，使其落入一个特定的、统一的范围（通常是较小的数值区间）内的一种数据预处理技术。\n",
    "\n",
    "归一化之后，数值变化更稳定，比如0.1 -> 0.1 * 10 和 100 -> 100 * 10，数值变化程度是很不一样的"
   ],
   "id": "970855ff3b8284d8"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T10:15:56.880534Z",
     "start_time": "2025-06-16T10:15:56.876545Z"
    }
   },
   "cell_type": "code",
   "source": [
    "x = np.random.randint(1, 100, 100)\n",
    "y = np.array([i * 10 + np.random.randint(100) for i in x])\n",
    "print(x[:5])\n",
    "print(y[:5])"
   ],
   "id": "82166fa2083a86b3",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[52 58 48 90 49]\n",
      "[547 641 484 998 567]\n"
     ]
    }
   ],
   "execution_count": 202
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T10:16:01.950166Z",
     "start_time": "2025-06-16T10:16:01.945713Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 归一化\n",
    "x = x / 100\n",
    "y = y / 100\n",
    "print(x[:5])\n",
    "print(y[:5])"
   ],
   "id": "f6b94526bc3d9824",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.52 0.58 0.48 0.9  0.49]\n",
      "[5.47 6.41 4.84 9.98 5.67]\n"
     ]
    }
   ],
   "execution_count": 203
  },
  {
   "cell_type": "code",
   "id": "68a407d08aad9da2",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T10:17:05.625363Z",
     "start_time": "2025-06-16T10:17:05.587056Z"
    }
   },
   "source": [
    "epoch = 2\n",
    "w = 0.1\n",
    "\n",
    "# 神经元\n",
    "for _ in range(epoch):\n",
    "    for i in range(len(x)):\n",
    "        y_predict = w * x[i]\n",
    "        loss = y_predict - y[i]\n",
    "        w = w - loss\n",
    "\n",
    "print(w)\n",
    "\n",
    "y_predict = w * x\n",
    "plt.scatter(x, y)\n",
    "plt.plot(x, y_predict, color='r')\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "11.185976962006425\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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Qb777jtp3LixBAIB12lLw4p2R6VINXX43NODzz09+NzTg8/dP5+7xgkNHq1atTL3dPPVyIfecOvWrRN6rn5A/OFMPT739OBzTw8+9/Tgc/fH5x5rxMNCwSkAAEgpwgcAAEiprAgfujHd/fffzwZ1Kcbnnh587unB554efO7Z+blnXMEpAADIblkx8gEAAPyD8AEAAFKK8AEAAFKK8AEAAFLKN+Fj0qRJ0rZtW6lfv76cccYZ8vHHH0e9/h//+Id07NjRvL5r167y5ptvpuxes0k8n/uUKVPkxz/+sTRp0sT86du3b8x/TvDmz7tl+vTpZmfgK664Iun3mI3i/dx37dolQ4YMkZYtW5qrAk444QT+rknB5z5x4kQ58cQTpUGDBmYXzuHDh8uBAwdSdr/ZYMGCBXLZZZeZ3Uj174zXXnst5nPmz58v3bt3N/+sd+jQQZ599tnEb8DwgenTpxv5+fnG008/bXzxxRfGLbfcYhxxxBHGli1bbK//4IMPjLy8PGPChAnGihUrjHvvvdeoV6+esXz58pTfu5/F+7lfe+21xqRJk4xPP/3U+PLLL40bbrjBKCoqMr799tuU33sufe6W9evXG0cffbTx4x//2BgwYEDK7jdXP/eKigqjR48exqWXXmosXLjQ/Pznz59vLFu2LOX3nkuf+4svvmgUFBSYv+pn/q9//cto2bKlMXz48JTfu5+9+eabxj333GO8+uqruuLVmDFjRtTr161bZzRs2NAYMWKE+b36l7/8xfyenTNnTkLv74vw0bNnT2PIkCE1j6uqqoxWrVoZ48aNs73+v/7rv4z+/fuHHDvjjDOMW2+9Nen3mk3i/dzDHTp0yGjcuLHx3HPPJfEus08in7t+1meddZbx5JNPGtdffz3hIwWf++TJk43jjjvOqKysTOFdZp94P3e99vzzzw85pl+IvXv3Tvq9ZitxET5GjhxpnHTSSSHHrr76aqNfv34JvWfGT7tUVlbKkiVLzCH84P1f9HFJSYntc/R48PWqX79+jtfDm8893L59++TgwYPStGnTJN5pdkn0c//d734nLVq0kJtuuilFd5pdEvncX3/9denVq5c57XLUUUdJly5d5KGHHpKqqqoU3nnufe5nnXWW+RxrambdunXmVNell16asvvORSUef69m3MZy4bZt22b+y6z/cgfTx1999ZXtc0pLS22v1+NI3ucebtSoUeZ8YvgfWHj7uS9cuFCeeuopWbZsWYruMvsk8rnrl94777wjAwcONL/81qxZI7fddpsZuLUzJJLzuV977bXm884++2xzF9VDhw7Jr3/9a7n77rtTdNe5qdThe1V3v92/f79ZfxOPjB/5gD89/PDDZvHjjBkzzCIyJIduX33dddeZxb7NmzdP9+3klOrqanO06W9/+5ucdtppcvXVV8s999wjjz/+eLpvLatp0aOOMP31r3+VpUuXyquvviqzZ8+WsWPHpvvWkE0jH/oXal5enmzZsiXkuD4uLi62fY4ej+d6ePO5Wx555BEzfMybN09OPvnkJN9pbn/ua9eulQ0bNphV68Ffiqpu3bqycuVKad++fQruPPf+vOsKl3r16pnPs3Tq1Mn8L0SdTsjPz0/6fefi5z569GgzcN98883mY13NuHfvXhk0aJAZ/nTaBt5z+l4tLCyMe9RDZfw/Jf0XWP+r4u233w75y1Uf63yrHT0efL2aO3eu4/Xw5nNXEyZMMP8LZM6cOdKjR48U3W3ufu66nHz58uXmlIv1c/nll0ufPn3M3+syRCTnz3vv3r3NqRYr7KlVq1aZoYTgkbzPXWvJwgOGFQDZqix5PP9eNXyyFEuXVj377LPmEp9BgwaZS7FKS0vN89ddd51x5513hiy1rVu3rvHII4+YSz7vv/9+ltqm4HN/+OGHzSVz//znP43NmzfX/OzevTuN/y+y/3MPx2qX1HzuX3/9tbmaa+jQocbKlSuNWbNmGS1atDAefPDBNP6/yP7PXf8+18992rRp5vLPf//730b79u3NVY5wT/9e1rYI+qNR4NFHHzV/v3HjRvO8fub62Ycvtb3jjjvM71Vtq5D1S22Vrik+5phjzC83XZq1aNGimnPnnnuu+RdusJdfftk44YQTzOt1edDs2bPTcNf+F8/nfuyxx5p/iMN/9C8LJPfPezDCR+o+9w8//NBcxq9fnrrs9ve//7257BnJ+9wPHjxojBkzxgwc9evXN9q0aWPcdtttxs6dO9N09/707rvv2v59bX3W+qt+9uHP6datm/nPSf+8P/PMMwm/f0D/x5tBGQAAgCyo+QAAANmF8AEAAFKK8AEAAFKK8AEAAFKK8AEAAFKK8AEAAFKK8AEAAFKK8AEAAFKK8AEAAFKK8AEAAFKK8AEAAFKK8AEAACSV/g/9w/T8jcIJWQAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 210
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T10:28:04.889915Z",
     "start_time": "2025-06-16T10:28:04.887197Z"
    }
   },
   "cell_type": "code",
   "source": [
    "x = -1 * np.random.randint(1, 100, 100)\n",
    "y = -1 * np.array([i * 10 + np.random.randint(100) for i in x])\n",
    "print(x[:5])\n",
    "print(y[:5])"
   ],
   "id": "3aefa76ba42b8a8f",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[-62  -5 -86 -40 -86]\n",
      "[554   7 807 328 835]\n"
     ]
    }
   ],
   "execution_count": 229
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T10:27:30.064968Z",
     "start_time": "2025-06-16T10:27:30.024359Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.scatter(x, y)\n",
    "plt.xlim(-100, 100)\n",
    "plt.ylim(-1000, 1000)\n",
    "\n",
    "y_predict = 1 * x\n",
    "plt.plot(x, y_predict, color='r')\n",
    "plt.show()\n"
   ],
   "id": "9e37c6675554ea3d",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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CXZAmjSpfMNZUV6I0mlrE7240x4klv8DiOqeJESB//f/RDp1kpBXUKArCir6q4iaQpQjsy6XRqmJptfpu/wCmbpij8drWFEQJgH4Hz1JCK/enWAHpKuuKl/vDgHJr7QHSHuCtEfIqYdoRFZz+VXGpZJ7ulCGLdkmOXkFHu2O5RWYkKWlBADAW/Qk4eKdPClSo4aEvAMHRJo0qeivAhcRlLQQpK5208nc2mukQ3H2HKPSSgVQTBJAeRCS4Onhh3VzOwl5DJ9EJQ03JRWCLKtUAMUkAfiKkBSpNETEhsFo6iuviNxzT0V/FYgA3pYKoJgkAG8RksJBdrbI9ddLyKN3B2FQKoBikgC8FQZdDRFmxAjfJysHOyBNmcJSdERcqQC9Xx+nmCQAb9GTVF5nzoiMGiUyf76EtPx8kcTEiv4qgJAoFUAxSQC+oCfJaQVU//4/7otVWu9O1arBDUj9+pWvd4eAhChSVqkAikkC8AU9Se7OnhVp1iw4u7fXrh349wGiUFmlAgDAW/QkuatcWeTBB71vv3x5+Xp3CEhAUEoFaIFJvSYgASiPGIt6/ZKXlycpKSmSm5srycnJFf3lAACAEPj8picJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAADAASEJAAAglELSoUOHZODAgdK4cWOpWrWqNG3aVCZNmiSFhYUebWJiYopdNm3a5PFay5YtkyuvvFKqVKkirVu3lpUrV1bAEQEAgEhSuaLeeO/evXLhwgV57rnnpFmzZrJr1y4ZNGiQ5Ofny1/+8hePtmvWrJGWLVu6bteqVcv1740bN0qvXr1k+vTp8stf/lKWLFkiPXr0kK1bt0qrVq2CekwAACByxFiWZUmImDVrljz77LPy2WefuXqStKdp27ZtkpGR4fice++91wSrFStWuO677rrrTPv58+d79b55eXmSkpIiubm5kpyc7KejAQAAgRToz++QmpOkB1mzZs1i9991111Sp04d6dixo7zxxhsej2VnZ0tWVpbHfV26dDH3l6SgoMB8Y90vAAAAIRmS9u/fL88884z8/ve/d91XrVo1eeqp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O++UevXqmWN47bXXPB7XNWePPfaY1K1b1/xd0z1bP/30U4823377rdx3332m/qJ+3uvfQbsMkbeiLiTpB8M999xj6ik50ZpOGpC03caNG039JQ1AejJsBw8eNG1uueUWU/tJN9x94IEHTK2ncKAh8ejRox4X/fr1Q/Saa67xaLtmzRqPdlq8M9xNnTrV45geeughj/2PtIaX7uWnmyfPmjXL/DFesGCBhCutMaZFVp977jmzefTs2bNl/vz58vDDDxdrG2nne+nSpaaWmobCrVu3Stu2bc0m2VrENlK888475gNSA60W2z179qz5GdZ6ce4GDRrkcW7DPfyrli1behzTe++953pM6+n997//lWXLlpnv0VdffSW//vWvJdzp/8i6H7Oec6Wfa5F0rvPz883vq/5PjhM9pr///e/mb9kHH3wgSUlJ5ndbw7FNA5L+zdPv0YoVK0zwGjx4sG9fiBWltN5SSkpKsftXrlxpxcbGWjk5Oa77nn32WSs5OdkqKCgwt//0pz9ZLVu29Hjevffea3Xp0sUKR4WFhVbt2rWtqVOnuu47ePCgqWu1bds2K5I0bNjQmj17domPz5s3z6pRo4brXKtx48ZZV1xxhRVJZs6caTVu3Djiz7fWTRs2bJjr9vnz56169epZ06dPtyLV8ePHzbl85513XPfddNNN1ogRI6xIMmnSJKtt27aOj508edKKi4uzli1b5rrvk08+Md+X7OxsK5LoeW3atKl14cKFiD3XImK9+uqrrtt6rOnp6dasWbM8znlCQoL173//29zes2ePed7mzZtdbf73v/9ZMTEx1pdffun1e0ddT1JZsrOzpXXr1pKWlua6T9Op9jBoIrXbaNeeO22j94ejN954Q06cOOFYpfyuu+4yXfgdO3Y07SKBDq9pF3y7du1MT5H7UKqew06dOpktb9zPrQ5ffPfddxJJO2c77ZodSedbe4O1N9D9d1U3wdTb4fq76u25VUXP70svvSSpqanSqlUrmTBhgpw6dUrCnQ6v6HCM7hmqvQY6VULpedceNfdzr0Nxult8JJ17/RlfvHix/O53vzNDUpF8rt3paE5OTo7H+dUN6nU43T6/eq1DbO6jI9pe/wZoz1NA9m6LBvqNdw9Iyr6tj5XWRoPU6dOnzfhoOHn++edNEKhfv77rPh3Df+qpp+SGG24wP1T/+c9/zFwHHRfWD9Jw9Yc//MHMJdMPEB1O1T8g2h399NNPu86tDjuWdP5r1Kgh4W7//v3yzDPPyF/+8peIPt/ffPONGT53+l3VIchIpMOqOvyv51E/IG29e/c2Q8gaKHTO3bhx40zwX758uYQr/UDUqRBXXHGF+R2eMmWKmUu4a9cu87uq/6NTdN6pnnv773gk0N/PkydPemw8H4nnuij7HDr9brt/Ttv7wtoqV65s/vb78jMQESFp/Pjx8uSTT5baRvd1c5/UF4nK83344osvzFwq3RPPnf5fiM7lsOnEUB3T156XUPvQ9OW43Y+pTZs25g/p73//ezP5Ndz2PCrP+f7yyy+la9euZv6CzlsIx/ONkuncJA0J7nNzlPs8DO0p18mut912mxw4cMBM5A9H3bp18/hd1tCk4UD/loXb/6hezP/g6vdBA1Ekn+uKFBEhacyYMR5J2ol2x3ojPT292OoXe0WEPmZfF10lobd1Bn1F/nKW5/uwaNEiM/TkzQeh/hGyJwlGyvnXY9LhNl3dpf9HWtK5dT//4XrcGnp0sYFO3PdmInqonm9vafCrVKmS4/kMtXPpD8OHD3dNTnXvFS7p3Nq9ipHywam9Rpdffrk5pttvv90MRWkvi3tvUiSd+8OHD5uFFmX1EEXiuU7/6Rzq+dQQaNPbGRkZrjZFF2jo33pd8ebLz0BEhKTatWubiz9kZmaaMgH6zbW76vSDQgNQixYtXG1Wrlzp8Txto/eH0/dB58NpSOrXr5/ExcWV2V5X8rn/QEbC+ddj0uEl+1zrOXzkkUfMfAb7e6LnVgNUqA21+XLc2oOkAUlXq+k512MO1/PtLe0l1ONdu3atGTq0h6P0tgaKSKG/x7pC89VXXzXlPYoOF5d0blU4n9+idGm39pb07dvXnHf9/dVzrUv/lQ456Zyliv477S/6e6x/t3SldbSd68aNG5ugo+fXDkU63UXnGtkr1/U8a0jW+Wn2Kt1169aZvwF2cPSKFWUOHz5sVvBMmTLFqlatmvm3Xr7//nvz+Llz56xWrVpZnTt3trZv326tWrXKrPyaMGGC6zU+++wzKzEx0Ro7dqxZMTF37lyrUqVKpm04WbNmjZn9r8dQ1AsvvGAtWbLEPKaXxx9/3Kz6W7hwoRWuNm7caFa26Xk9cOCAtXjxYnNu+/Xr57FCIi0tzerbt6+1a9cu6+WXXzbn+rnnnrPC1RdffGE1a9bMuu2228y/jx496rpE8vlWev50xYsen652GTx4sFW9enWP1avhbujQoWal7oYNGzzO7alTp8zj+/fvNytXP/roI7OK8fXXX7eaNGliderUyQpnY8aMMcesx/T+++9bWVlZVmpqqlndp4YMGWJddtll1rp168yxZ2Zmmksk0FWaemy68tZdJJ3r77//3vX5rJ9TTz/9tPm3foarGTNmmN9lPcadO3dav/rVr8yK3dOnT7teo2vXrla7du2sDz74wHrvvfes5s2bW7169fLp64i6kNS/f3/zDS96Wb9+vavNoUOHrG7dullVq1Y1v3T6y3j27FmP19H2GRkZVnx8vPkh1JIC4UZ/WK6//nrHx/RD5aqrrjIBQcsf6FJq9+W04WjLli1Whw4dzAdKlSpVzPE98cQT1pkzZzza7dixw+rYsaP5cL300kvNL2M4059Np5959/9HisTzbXvmmWfMB4r+rupxbdq0yYokJZ1b+2/S559/bj4ka9asaX6mNTDr/+Dl5uZa4UzLrtStW9ecV/091dsaEmz6Yfnggw+akh76c92zZ0+P/zEIZ2+99ZY5x/v27fO4P5LO9fr16x1/rvUz3C4D8Oijj5r/qdVj1f8JLPr9OHHihPmc0w4R/bt2//33uzpEvBWj/wlMhxgAAED4ok4SAACAA0ISAACAA0ISAACAA0ISAACAA0ISAACAA0ISAACAA0ISAACAA0ISAACAA0ISAACAA0ISAACAA0ISAACAFPf/AdLKDpwBmtYCAAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 227
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T10:28:10.767909Z",
     "start_time": "2025-06-16T10:28:10.678182Z"
    }
   },
   "cell_type": "code",
   "source": [
    "epoch = 20\n",
    "w = 0.1\n",
    "\n",
    "x = x / 100\n",
    "y = y / 100\n",
    "\n",
    "# 神经元\n",
    "for _ in range(epoch):\n",
    "    for i in range(len(x)):\n",
    "        y_predict = w * x[i]\n",
    "        loss = y_predict - y[i]\n",
    "        w = w - loss * x[i]\n",
    "\n",
    "print(w)\n",
    "\n",
    "y_predict = w * x\n",
    "plt.scatter(x, y)\n",
    "plt.plot(x, y_predict, color='r')\n",
    "plt.show()"
   ],
   "id": "64d1405f43c8ce95",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-8.936576383736126\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 230
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "## Min-Max 归一化\n",
    "\n",
    "优点是，保留了原始数据的分布形状，并且数值在[0,1]区间\n",
    "\n",
    "缺点是，对异常值敏感，异常值会扭曲整个缩放"
   ],
   "id": "8bae26cf4a76b20d"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T13:10:47.980548Z",
     "start_time": "2025-06-16T13:10:47.977185Z"
    }
   },
   "cell_type": "code",
   "source": [
    "x = np.random.randint(1, 100, 100)\n",
    "y = np.array([i * 10 + np.random.randint(100) for i in x])\n",
    "print(x[:5])\n",
    "print(y[:5])\n",
    "\n",
    "x_hat = (x - np.min(x)) / (np.max(x) - np.min(x))\n",
    "y_hat = (y - np.min(y)) / (np.max(y) - np.min(y))\n",
    "print(x_hat[:5])\n",
    "print(y_hat[:5])"
   ],
   "id": "78c0007e7318a908",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[53 32 23 95 48]\n",
      "[536 401 315 992 511]\n",
      "[0.53684211 0.31578947 0.22105263 0.97894737 0.48421053]\n",
      "[0.49233716 0.36302682 0.28065134 0.92911877 0.4683908 ]\n"
     ]
    }
   ],
   "execution_count": 238
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T13:10:49.783442Z",
     "start_time": "2025-06-16T13:10:49.731415Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.scatter(x, y, color='r')\n",
    "plt.show()"
   ],
   "id": "d040f717937deab5",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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2URh7WvzxRdfyPnnny95eXm2o0MNgrRxH8nF6cV7nzm895nDe585vPfufe81LNGApmvXrubcx3h4dqVG34ju3bsn9L0078sc3vvM4b3PHN77zOG9d+d7H+8KjYVEYQAA4AkENQAAwBMIakLmRz300EPmPdKL9z5zeO8zh/c+c3jvvfneezZRGAAA5BZWagAAgCcQ1AAAAE8gqAEAAJ5AUAMAADyBoOZvnn76aenZs6e0bNlSBg0aJLt37870JXnO/Pnz5YorrjC7PHfu3FnGjBkjBw4cCDrn5MmTMnXqVCksLJQ2bdrI2LFjpaamJmPX7FULFiwwO22Xlpb6j/Hep051dbVMnDjRfG9btWol/fv3l7feesv/vNZrzJ07V7p06WI+P2LECDl48GBGr9kLzp49K3PmzJFevXqZ72vv3r3l0UcfDZopxHvvjG3btsn1119vdgHW3y2vvvpq0PN23udjx47JhAkTzIZ87dq1kzvuuENOnDgR34Vo9VOuW7t2rdGiRQvjP//zP419+/YZd911l9GuXTujpqYm05fmKSNHjjSee+454/333zfeeecd4x//8R+NHj16GCdOnPCf89Of/tQoKSkxNm/ebLz11lvGD37wA2PIkCEZvW6v2b17t9GzZ0/je9/7njF9+nT/cd771Dh27JhxwQUXGLfddpuxa9cu45NPPjF+//vfGx999JH/nAULFhht27Y1Xn31VePdd981/umf/sno1auX8X//938ZvfZs9/jjjxuFhYXGhg0bjMrKSuOll14y2rRpYzz55JP+c3jvnfH6668bDz74oPHyyy9rxGi88sorQc/beZ+vueYa45JLLjF27txp/OEPfzD+7u/+zhg3blxc10FQYxjG97//fWPq1Kn+x2fPnjW6du1qzJ8/P6PX5XWHDx82//K/8cYb5uPa2lqjefPm5i8ey5///GfznB07dmTwSr3j+PHjRp8+fYxNmzYZf//3f+8PanjvU2fWrFnGVVddFfH5xsZGo7i42Fi0aJH/mP555OfnG+Xl5Wm6Sm8aNWqUcfvttwcdu+GGG4wJEyaYX/Pep0ZoUGPnfd6/f7/5fXv27PGfs3HjRiMvL8+orq62/bNzfvvp1KlTsnfvXnMpLHBulD7esWNHRq/N6+rq6sz7Dh06mPf653D69OmgP4u+fftKjx49+LNwiG4vjRo1Kug9Vrz3qfO73/1OBg4cKD/+8Y/NbddLL71Unn32Wf/zlZWVcujQoaD3Xufe6DY4731yhgwZIps3b5YPP/zQfPzuu+/Km2++Kddee635mPc+Pey8z3qvW076/xWLnq+fx7t27bL9szw70NKur776ytx3LSoqCjqujz/44IOMXZfX6RR1zee48sorpV+/fuYx/UvfokUL8y926J+FPofkrF27Vt5++23Zs2fPOc/x3qfOJ598Is8884zcf//98otf/MJ8/++77z7z/Z40aZL//Q33O4j3PjkPPPCAORFaA/SmTZuav+sff/xxM29D8d6nh533We816A/UrFkz8x+98fxZ5HxQg8ytGLz//vvmv5qQelVVVTJ9+nTZtGmTmQyP9Abw+q/PefPmmY91pUb/7q9YscIMapA6L774oqxZs0bKysrku9/9rrzzzjvmP6Y0mZX33ptyfvupY8eOZgQfWuWhj4uLizN2XV42bdo02bBhg1RUVEj37t39x/X91u3A2traoPP5s0iebi8dPnxYLrvsMvNfP3p74403ZNmyZebX+i8m3vvU0GqPiy++OOjYRRddJJ9//rn5tfX+8jvIeTNnzjRXa26++Waz4uyWW26RGTNmmJWYivc+Pey8z3qvv6MCnTlzxqyIiufPIueDGl0Cvvzyy81918B/WenjwYMHZ/TavEbzxzSgeeWVV2TLli1mmWUg/XNo3rx50J+FlnzrL3/+LJIzfPhwee+998x/qVo3XT3QZXjra9771NAt1tDWBZrjccEFF5hf6/8P9Jd24HuvWyaaR8B7n5xvvvnGzMkIpP+I1d/xivc+Pey8z3qv/6jSf4BZ9HNC/6w098Y2x9Kds7ykW7Own3/+eTMDe8qUKWZJ96FDhzJ9aZ5y9913myV9W7duNb788kv/7ZtvvgkqK9Yy7y1btphlxYMHDzZvcF5g9ZPivU9dCX2zZs3M8uKDBw8aa9asMc477zxj9erVQeWu+jtn/fr1xp/+9Cdj9OjRlBU7YNKkSUa3bt38Jd1abtyxY0fj5z//uf8c3nvnKiv/+Mc/mjcNLRYvXmx+/dlnn9l+n7Wk+9JLLzVbH7z55ptmpSYl3Qn6zW9+Y/5C1341WuKtdfJwlv5FD3fT3jUW/Qt+zz33GO3btzd/8f/zP/+zGfgg9UEN733qvPbaa0a/fv3Mfzz17dvXWLlyZdDzWvI6Z84co6ioyDxn+PDhxoEDBzJ2vV5RX19v/h3X3+0tW7Y0vvOd75i9VBoaGvzn8N47o6KiIuzvdw0s7b7PR48eNYMY7SVUUFBgTJ482QyW4pGn/+PsQhMAAED65XxODQAA8AaCGgAA4AkENQAAwBMIagAAgCcQ1AAAAE8gqAEAAJ5AUAMAADyBoAYAAHgCQQ0AAPAEghoAAOAJBDUAAMATCGoAAIB4wf8DZjh03Krc2BYAAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 239
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T13:10:51.217273Z",
     "start_time": "2025-06-16T13:10:51.172273Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.scatter(x_hat, y_hat, color='b')\n",
    "plt.show()"
   ],
   "id": "bef77af4d3379a6b",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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L14sQ4YMkZNOOsl4DBs2LOF/FyT/e9q0bNkyo4PxyJEj036Nufg5Hzx4UG666Sbp0aOHsSrhjDPO4M+PNHzO8+bNkzPPPFOOPfZYo2vo1KlT5dtvv83Y9QbRW2+9JZdddpnRBVX/DFi9enXC19TW1sp5551n/F4+7bTT5LnnnkvvRYay2LJly0IFBQWhZ599NvTPf/4zNGHChNCJJ54YamhosDz/73//eyg/Pz80Z86c0AcffBC6++67Q507dw699957Gb/2bP6cq6urQwsWLAi9++67oQ8//DB07bXXhoqLi0OfffZZxq892z9rU11dXaisrCw0ZMiQ0IgRIzJ2vbnyOR8+fDjUv3//0MUXXxx6++23jc+7trY2tG3btoxfezZ/zi+++GKosLDQ+Kqf8euvvx7q0aNHaOrUqRm/9iBZu3Zt6K677gqtXLlSV8+GVq1aFff8Xbt2hY477rhQTU2NcS/84x//aNwb161bl7ZrzOowMmDAgNBNN9105HlbW1uoZ8+eodmzZ1uef9VVV4UuueSSDscGDhwY+v3vf5/2a82lzzna999/HzrhhBNCzz//fBqvMnc/a/18Bw8eHHr66adD48aNI4yk4XN+8sknQz/5yU9Cra2tGbzK3Puc9dxf//rXHY7pDfOCCy5I+7VmC7ERRm6//fbQz372sw7HqqqqQsOHD0/bdWXtNE1ra6ts2bLFmAKI3ONGn2/atMnyNXo88nw1fPjwmOcjuc852tdffy3fffednHzyyWm80tz9rO+77z7p1q2bXHfddRm60tz7nF999VUZNGiQMU1TWloqvXv3loceekja2toyeOXZ/zkPHjzYeI05lbNr1y5jKuziiy/O2HXngk0e3AsDsVFeMpqamow/CPQPhkj6/KOPPrJ8TX19veX5ehzufc7R7rjjDmMuM/o3P1L/rN9++2155plnZNu2bRm6ytz8nPWm+Ne//lWuueYa4+a4Y8cOmTRpkhGytbMl3Pmcq6urjdddeOGFxm6w33//vdxwww1y5513Zuiqc0N9jHuh7u77zTffGPU6bsvakREEw8MPP2wUVq5atcooYIN7dNvuMWPGGAXDJSUlXl9OVmtvbzdGn5566inp16+fVFVVyV133SWLFi3y+tKyihZV6ojTwoULZevWrbJy5UpZs2aN3H///V5fGlKUtSMj+odvfn6+NDQ0dDiuz7t37275Gj3u5Hwk9zmb5s6da4SRN998U84999w0X2nufdY7d+6U3bt3G1X0kTdNdcwxx8j27dulV69eGbjy7P89rStoOnfubLzOdPbZZxt/w9TpiIKCgrRfdy58zvfcc48RsK+//nrjua54PHTokEycONEIfzrNg9TFuhcWFRWlZVREZe1/Of2fX/+Gsn79+g5/EOtzndu1oscjz1dvvPFGzPOR3Oes5syZY/xtZt26ddK/f/8MXW1ufda6RP29994zpmjMx+WXXy6VlZXGv+uySLjze/qCCy4wpmbMsKc+/vhjI6QQRNz7nLW+LDpwmAGQbdbc48m9MJTly8Z0Gdhzzz1nLE+aOHGisWysvr7e+P6YMWNC06ZN67C095hjjgnNnTvXWHI6c+ZMlvam4XN++OGHjeV8r7zySuiLL7448vjqq688/FVk52cdjdU06fmc9+zZY6wIu/nmm0Pbt28Pvfbaa6Fu3bqFHnjgAQ9/Fdn3Oeufyfo5L1261Fh++pe//CXUq1cvYyUkYtM/W7WVgj70tv/YY48Z//7pp58a39fPWD/r6KW9t912m3Ev1FYMLO1Nka6P/tGPfmTc/HQZ2T/+8Y8j3/vVr35l/OEc6aWXXgqdccYZxvm6tGnNmjUeXHV2f87/9V//ZfwPEf3QP2jg/u/pSISR9H3OGzduNFoB6M1Vl/k++OCDxrJquPc5f/fdd6FZs2YZAaRLly6h8vLy0KRJk0L/+te/PLr6YNiwYYPln7nmZ6tf9bOOfk3fvn2N/y76+/lPf/pTWq8xT/+RvnEXAACAHK0ZAQAAwUAYAQAAniKMAAAATxFGAACApwgjAADAU4QRAADgKcIIAADwFGEEAAB4ijACAAA8RRgBAACeIowAAABPEUYAAIB46f8BiXeMYloxUOEAAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 240
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "## Z-Score 标准化\n",
    "也能保持数据分布的形状，但相比Min-Max而言，对异常值没那么敏感，但不保证数值在[0,1]"
   ],
   "id": "8f63adaabbd579de"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T13:11:50.517046Z",
     "start_time": "2025-06-16T13:11:50.513851Z"
    }
   },
   "cell_type": "code",
   "source": [
    "x = np.random.randint(1, 100, 100)\n",
    "y = np.array([i * 10 + np.random.randint(100) for i in x])\n",
    "print(x[:5])\n",
    "print(y[:5])\n",
    "\n",
    "x_hat = (x - np.mean(x)) / np.std(x)\n",
    "y_hat = (y - np.mean(y)) / np.std(y)\n",
    "print(x_hat[:5])\n",
    "print(y_hat[:5])"
   ],
   "id": "cc5b6d7305c97de6",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[75 99 46  9 95]\n",
      "[ 823 1088  487  130  986]\n",
      "[ 0.80922285  1.70215841 -0.26974095 -1.64634994  1.55333582]\n",
      "[ 0.90216517  1.8849159  -0.34388859 -1.6678207   1.50664958]\n"
     ]
    }
   ],
   "execution_count": 241
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T13:12:28.844618Z",
     "start_time": "2025-06-16T13:12:28.800071Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.scatter(x, y, color='r')\n",
    "plt.show()"
   ],
   "id": "7499d127a7626f28",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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ue/eOHjwoHX66adb//iP/2itX7/e+uijj6yXX37Z+vDDD6PnzJ071+rYsaP1/PPPW5s2bbL+/u//3urbt6/15Zdf+nrtYTd79myrqqrKWrFihVVfX28tXbrU6tChg/Xwww9Hz+Heu+O///u/rdtvv91atmyZRofW8uXL4447uc+XXHKJ9Z3vfMd68803rddee836m7/5G2vMmDF5X1vRBzB/+7d/a910003R5ydOnLB69OhhzZkzx9frKnb79+83/9hfeeUV8/zQoUNW69atzQ8a2x/+8Adzzrp163y80uJw+PBhq1+/ftaqVausv/u7v4sGMNx370ybNs268MILUx5vbm62unXrZt1///3Rffr3UV5ebtXW1hboKovTZZddZl1//fVx+6666ipr3Lhx5mvuvTcSAxgn93nr1q3mdRs2bIies3LlSqusrMzavXt3XtdT1FNIX331lWzcuNEMacWukaTP161b5+u1FbuGhgazraysNFv9ezh27Fjc30X//v2ld+/e/F24QKeILrvssrj7q7jv3nnxxRflnHPOkauvvtpMm5555pnyxBNPRI/X19fL3r174+69ru+i09jc+/ycf/75snr1avnggw/M802bNsnrr78ul156qXnOvS8MJ/dZtzptpP+v2PR8/Sxev359Xt+/aBdzVJ999pmZK62uro7br8//+Mc/+nZdxU5XAtccjAsuuEAGDRpk9uk/8jZt2ph/yIl/F3oMuVuyZIm88847smHDhpOOcd+989FHH8ljjz0mt956q/ziF78w9/9nP/uZud/jx4+P3t9kP3+49/n5+c9/blY+1mC8ZcuW5uf87NmzTZ6F4t4XhpP7rFsN8GO1atXK/HKb799FUQcw8G804P333ze/EcFbumz95MmTZdWqVSZJHYUN1PW3yl/+8pfmuY7A6L/7BQsWmAAG3nn22Wdl0aJFsnjxYvnWt74l7777rvmlSRNNufelo6inkLp06WKi88SKC33erVs3366rmN18882yYsUKqaurk169ekX36/3WKb1Dhw7Fnc/fRX50imj//v1y1llnmd9q9PHKK6/I/Pnzzdf6mxD33RtadTFw4MC4fQMGDJCdO3ear+37y88f9912221mFOaaa64xlV/XXXedTJ061VRDKu59YTi5z7rVn1Gxjh8/biqT8v27KOoARodyzz77bDNXGvtbkz4fMmSIr9dWbDS/S4OX5cuXy5o1a0x5Yyz9e2jdunXc34WWWesPe/4ucjd8+HDZvHmz+Q3UfuiogA6l219z372hU6SJrQI0J+P00083X+v/A/oDOvbe67SHzvtz7/PzxRdfmByKWPrLqv58V9z7wnByn3Wrv0DpL1s2/YzQvyvNlcmLVQJl1JoR/dRTT5ls6BtuuMGUUe/du9fvSysqN954oymlW7t2rfXJJ59EH1988UVcOa+WVq9Zs8aU8w4ZMsQ84K7YKiTFffeubL1Vq1ampHf79u3WokWLrPbt21sLFy6MKzHVnzcvvPCC9d5771mjRo2ilNcF48ePt3r27Bkto9YS3y5dulj/+q//Gj2He+9ehePvf/9789CQ4cEHHzRf//nPf3Z8n7WM+swzzzTtBl5//XVTMUkZtUO//vWvzQ9w7QejZdVaiw536T/sZA/tDWPTf9A//elPrc6dO5sf9P/wD/9gghx4G8Bw373z0ksvWYMGDTK/JPXv3996/PHH445rmemMGTOs6upqc87w4cOtbdu2+Xa9xaKxsdH8G9ef623btrW+8Y1vmF4lTU1N0XO49+6oq6tL+rNdg0in9/nAgQMmYNFePRUVFdaECRNMYJSvMv1PfmM4AAAAhVXUOTAAAKA4EcAAAIDQIYABAAChQwADAABChwAGAACEDgEMAAAIHQIYAAAQOgQwAAAgdAhgAABA6BDAAACA0CGAAQAAoUMAAwAAJGz+PxhQU6jP5lT8AAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 242
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T13:12:31.039251Z",
     "start_time": "2025-06-16T13:12:30.985874Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.scatter(x_hat, y_hat, color='b')\n",
    "plt.show()"
   ],
   "id": "65520ae64c8309a0",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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wybM1664fq4/rNcf5mtXXH9haK4/cAm7AAAg2AI78gIAAIKJ4AUAAPgKwQsAAPAVghcAAOArgQhedu/eLePHj5euXbtKixYtpHv37kbG9dGjR5M+77vvvpNJkyZJ27Zt5ZRTTpGRI0fKvn37xI/uvvtuGThwoLRs2VLatGlj6znjxo2TgoKCRtvw4cMlLNevueozZsyQjh07Gt83Q4cOlY8//lj86KuvvpJrr73WaEyl168/D4cPH076nNLS0hPe/5tuukn8YN68edKlSxdp3ry59O/fX955552kxy9atEh69eplHH/eeefJn//8Z/ErJ9c+f/78E95jfZ5frV27Vq644gqjA6tey9KlS1M+p6qqSi644AKjAuess84y/p+E5fqrqqpOeP91q6mpEb8LRPCybds2Y1mARx99VLZs2SJz586VyspKuf3225M+b/LkyfLyyy8bv9hee+01Y1mBK6+8UvxIA7VRo0bJxIkTHT1Pg5W9e/c2bAsXLpSwXP+9994rDz30kPG98vbbb8uPfvQjGTZsmBHU+o0GLvq9v2LFCnnllVeMX3I33HBDyudNmDCh0fuv/0+87vnnn5cpU6YYf6Bs2rRJevfubbxvX375ZcLj161bJ6NHjzYCuvfee09GjBhhbB9++KH4jdNrVxrQxr7Hn376qfjVkSNHjGvWAM6OXbt2yeWXXy6DBw+WzZs3S3l5uVx//fXy6quvShiu37R9+/ZG3wPt27cX34sE1L333hvp2rWr5eOHDh2KnHzyyZFFixY17Nu6dauWjUfWr18f8asnn3wy0rp1a1vH/vrXv46UlZVFgsTu9R8/fjxSUlISue+++xp9TxQWFkYWLlwY8ZOPPvrI+L599913G/b97//+b6SgoCCyZ88ey+cNGjQocsstt0T85sILL4xMmjSp4f6xY8cinTp1ilRUVCQ8/p//+Z8jl19+eaN9/fv3j9x4442RoF+7k98HfqPf80uWLEl6zG233Rb5+7//+0b7rr766siwYcMiYbj+NWvWGMf95S9/iQRNIEZeEqmtrZWioiLLxzdu3Cjff/+9MVVg0mFlXcxx/fr1EhY6rKhReM+ePY1Ri4MHD0oY6F9kOnQa+/7rmho6DO+391/PV6eKfvKTnzTs0+vSdb50RCmZZ599Vtq1ayfnnnuuTJ8+Xb755hvx+gib/uzGvm96nXrf6n3T/bHHKx2t8Nv7nM61K50+PPPMM40F+8rKyowRurAIynufqT59+hjT47/4xS/kzTfflCAI3MKMaseOHfLwww/LnDlzLI/RD65mzZqdkB/RoUOHQMwH2p0y0mkyzRX65JNPjGm2Sy+91PjBbtq0qQSZ+R7r++3391/PN34Y+KSTTjKC92TXMmbMGONDTefP33//ffntb39rDC8vXrxYvOrAgQNy7NixhO+bTh8nov8PgvA+p3Pt+kfJH//4Rzn//PONP+j0d6LmhmkAowvYBp3Ve68L93777bdGrluQdezY0ZgW1z9s6uvr5YknnjBy3fSPGs0D8jNPj7xMmzYtYbJR7Bb/Q7tnzx7jQ1nzH3Q+38/SuX4nrrnmGvnlL39pJDBqDoDmSrz77rvGaEwYrt/r3L5+zYnRv0L1/decmaefflqWLFliBLIIhgEDBsjYsWONv7wHDRpkBKbFxcVGfiCCr2fPnnLjjTdKv379jKBVA1m91bxQv/P0yMvUqVONiphkunXr1vBvTbjVxCx9cx577LGkzyspKTGGYQ8dOtRo9EWrjfQxP15/pvS1dApBR66GDBkiQb5+8z3W91v/OjHpff1F7wV2r1+vJT5h869//atRgeTke1mnzJS+/1qx50X6/amjgvFVgcl+bnW/k+O9Kp1rj3fyySdL3759jfc4DKzee01iDvqoi5ULL7xQ3njjDfE7Twcv+heCbnboiIsGLhphPvnkk8ZccDJ6nP4gr1q1yiiRVjpkXl1dbfy14rfrz4bPP//cyHmJ/TAP6vXrVJn+YtP33wxWdChZh1OdVmzl+/r1+1WDcM2H0O9rtXr1aqMCzwxI7NBqDOWV9z8RnerVa9T3TUcLlV6n3r/55pst///o41ppYtKqLK/8nLt57fF02umDDz6Qyy67TMJA3+P4sng/vvfZtHnzZk//jNsWCYDPP/88ctZZZ0WGDBli/Hvv3r0NW+wxPXv2jLz99tsN+2666abIGWecEVm9enVkw4YNkQEDBhibH3366aeR9957LzJ79uzIKaecYvxbt6+//rrhGL3+xYsXG//W/bfeeqtRWbVr167IypUrIxdccEGkR48eke+++y4S9OtX//mf/xlp06ZNZNmyZZH333/fqLzSCrVvv/024jfDhw+P9O3b1/j+fuONN4z3cfTo0Zbf/zt27Ijceeedxve9vv/6/6Bbt26Riy++OOJ1zz33nFEVNn/+fKPS6oYbbjDex5qaGuPxf/mXf4lMmzat4fg333wzctJJJ0XmzJljVBTOnDnTqDT84IMPIn7j9Nr15+HVV1+NfPLJJ5GNGzdGrrnmmkjz5s0jW7ZsifiR/jybP9v68fXAAw8Y/9aff6XXrv8PTDt37oy0bNky8pvf/MZ47+fNmxdp2rRpZPny5ZEwXP/cuXMjS5cujXz88cfG97tWFzZp0sT4fe93gQhetBxQ38hEm0l/Qet9LR0z6YfUv/3bv0VOPfVU4xv8n/7pnxoFPH6iZc+Jrj/2evW+/r9S33zzTeSSSy6JFBcXG7/IzzzzzMiECRMafgkG/frNcunf/e53kQ4dOhgfCBr8bt++PeJHBw8eNIIVDdxatWoVue666xoFbvHf/9XV1UagUlRUZFy7Bv/6C762tjbiBw8//LDxh0ezZs2M8uG33nqrUQm4fj/EeuGFFyI//vGPjeO1dPZPf/pTxK+cXHt5eXnDsfp9ftlll0U2bdoU8Suz9Dd+M69Zb/X/Qfxz+vTpY/w/0AA99ndA0K//nnvuiXTv3t0IWPVnvbS01PhjPQgK9D/5Hv0BAAAIRLURAABAPIIXAADgKwQvAADAVwheAACArxC8AAAAXyF4AQAAvkLwAgAAfIXgBQAA+ArBCwAA8BWCFwAA4CsELwAAwFcIXgAAgPjJ/wdFuN7lCzHeDQAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 243
  },
  {
   "cell_type": "markdown",
   "id": "6edf8f6b7b6047b8",
   "metadata": {},
   "source": [
    "## 偏置bias\n",
    "\n",
    "我们现在样本数据正好是穿过了坐标0点，如果我们修改一下样本数据"
   ]
  },
  {
   "cell_type": "code",
   "id": "50d8d558de00fe28",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T13:17:27.319382Z",
     "start_time": "2025-06-16T13:17:27.311883Z"
    }
   },
   "source": [
    "x = np.random.randint(1, 100, 100)\n",
    "y = np.array([i * 10 + np.random.randint(100) for i in x])\n",
    "y = np.array(y) + 100\n",
    "\n",
    "print(x[:5])\n",
    "print(y[:5])"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[58 62 94 13 44]\n",
      "[ 745  730 1068  271  609]\n"
     ]
    }
   ],
   "execution_count": 244
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T13:17:32.132590Z",
     "start_time": "2025-06-16T13:17:32.086773Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.ylim(0, 1000)\n",
    "plt.scatter(x, y)  # 拟合\n",
    "plt.show()"
   ],
   "id": "99b6b5ce54fb7d76",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 245
  },
  {
   "cell_type": "markdown",
   "id": "603143f1058691a1",
   "metadata": {},
   "source": [
    "## 重新定义模型函数\n",
    "\n",
    "如果我们的函数还是y=wx，那么，始终覆盖不了样本数据，或者说拟合不了我们的数据，此时就需要给函数加一个偏移量，或者叫做偏置，最终函数为：y=wx+b"
   ]
  },
  {
   "cell_type": "code",
   "id": "b93e10d2b8d53d95",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T13:19:34.656862Z",
     "start_time": "2025-06-16T13:19:34.620349Z"
    }
   },
   "source": [
    "w = 15\n",
    "y_predict = w * x\n",
    "\n",
    "plt.ylim(0, 1000)\n",
    "plt.scatter(x, y)\n",
    "plt.plot(x, y_predict, color='r')\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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t2+fXHfddWl7T+2C0rLt8K4opA/3PPO455nHPc887rn/77lry6iVllA/8MADUl5eLn369JFHH33UlFcDAIDc5uoAAwAA4JkxMAAAAPEQYAAAgOcQYAAAgOcQYAAAgOcQYILMmDFDOnfuLA0bNjTVTitWrMj2JfmCrlOlC3M2a9ZM2rRpI0OHDpVPPvkk5JwDBw7I6NGjzdIPTZs2lWHDhkVMZIjk3X///WZJjbFjx9bu4547b+vWrfLLX/7S3NNGjRpJ79695b333qs9rjUTU6ZMkXbt2pnjur7bxo0bs3rNXqZLzkyePFm6dOli7ucJJ5wgd999t7nPFu55at5++2255JJLzLT++jvkpZdeCjlu5/7qsj7Dhw83s/PqDPkjR46UvXv3pnhl3785AoHAvHnzAg0aNAg8+eSTgXXr1gVGjRoVaN68eWDbtm3ZvjTPGzhwYOCpp54KfPTRR4E1a9YELrrookDHjh0De/furT3nN7/5TaBDhw6BJUuWBN57771Av379AmeddVZWr9svVqxYEejcuXPgpJNOCtx88821+7nnztq1a1egU6dOgV/96leBd999N7Bp06bA3//+98Bnn31We879998fKC4uDrz00kuBDz74IHDppZcGunTpEvjuu++yeu1ede+99wZatWoVWLRoUWDz5s2BF154IdC0adPAI488UnsO9zw1r7zySuC2224LvPjii5oKA/Pnzw85buf+Dho0KHDyyScHli9fHvjnP/8Z+NGPfhS46qqrUryyQIAAc9SZZ54ZGD16dO32kSNHAu3btw9MnTo1q9flR9u3bzd/Ed566y2zXVFRESgoKDC/fCwbNmww55SVlWXxSr1vz549ga5duwYWL14c+OlPf1obYLjnzpswYUKgf//+MY/X1NQESkpKAg888EDtPv3/UFhYGHjuuecydJX+Mnjw4MCvf/3rkH2XX355YPjw4eZ77rmzwgOMnfu7fv1687yVK1fWnvPqq68G8vLyAlu3bk3peuhCEpGDBw/KqlWrTNOXJT8/32yXlZVl9dr8qLKy0jy2bNnSPOq9P3ToUMj97969u3Ts2JH7nyLtIho8eHDIvVXcc+e9/PLLZubwn//856ar9JRTTpEnnnii9vjmzZvNpJzB91wXrNPuau55cs466yyzxMynn35qtj/44ANZtmyZXHjhhWabe55edu6vPmq3kf7dsOj5+hn77rvv+nMpgUzasWOH6Utt27ZtyH7d/vjjj7N2XX6ka1rpOIyzzz5bevXqZfbpXwBd/yp89XC9/3oMyZk3b56sXr1aVq5cGXGMe+68TZs2yaxZs8wyKL/73e/Mfb/pppvMfdZlUaz7Gu33DPc8ORMnTpSqqioTvnUBYP09fu+995rxFop7nl527q8+aqAPVr9+ffMP2FT/HxBgkPEWgY8++sj8Kwnp89VXX8nNN98sixcvNoPSkZlwrv/KvO+++8y2tsDon/XZs2ebAAPnPf/88/LMM8/Is88+KyeeeKKsWbPG/ANJB5xyz/2PLiQRad26tUnv4RUYul1SUpK16/KbMWPGyKJFi+SNN96Q448/vna/3mPtxquoqAg5n/ufPO0i2r59u5x66qnmXzv69dZbb5n1xPR7/RcS99xZWoXRs2fPkH09evSQLVu2mO+t+8rvGefceuutphXmyiuvNBVf11xzjYwbN85UPirueXrZub/6qL+Lgh0+fNhUJqX6/4AAI2KaeE877TTTlxr8ryndLi0tzeq1+YGO/dLwMn/+fFm6dKkpeQym976goCDk/muZtf7i5/4n57zzzpO1a9eaf5FaX9o6oE3r1vfcc2dpt2j49AA6NqNTp07me/1zr7+wg++5dn/oOADueXL2799vxlIE03+M6u9vxT1PLzv3Vx/1H0r6jyqLfg7o/6OUF2dOaQiwz8qodeT03Llzzajp66+/3pRRl5eXZ/vSPO+GG24wZXZvvvlm4Ntvv6392r9/f0hJr5ZWL1261JT0lpaWmi84J7gKSXHPnS9Xr1+/vint3bhxY+CZZ54JNG7cOPD000+HlJzq75UFCxYEPvzww8CQIUMo6U3BiBEjAscdd1xtGbWW+rZu3TrwX//1X7XncM9Tr2R8//33zZdGhgcffNB8/+WXX9q+v1pGfcopp5jpBZYtW2YqIymjdthjjz1mfqHrfDBaVq0160id/qGP9qVzw1j0D/t//ud/Blq0aGF+6V922WUm5CB9AYZ77ryFCxcGevXqZf4x1L1798CcOXNCjmvZ6eTJkwNt27Y155x33nmBTz75JGvX63VVVVXmz7T+3m7YsGHghz/8oZmzpLq6uvYc7nlq3njjjai/vzU82r2/O3fuNIFF5+gpKioKXHfddSYYpSpP/5NaGw4AAEBmMQYGAAB4DgEGAAB4DgEGAAB4DgEGAAB4DgEGAAB4DgEGAAB4DgEGAAB4DgEGAAB4DgEGAAB4DgEGAAB4DgEGAACI1/x/hP61N+tVjtgAAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 248
  },
  {
   "cell_type": "code",
   "id": "a59a48a630da829e",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T13:20:11.274859Z",
     "start_time": "2025-06-16T13:20:11.226306Z"
    }
   },
   "source": [
    "w = 10\n",
    "b = 150\n",
    "\n",
    "y_predict = w * x + b\n",
    "\n",
    "plt.ylim(0, 1000)\n",
    "plt.scatter(x, y)\n",
    "plt.plot(x, y_predict, color='r')\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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NWsmbdq0kcsuu0w2b94ccM3Bgwdl7NixZuuHpk2byogRI0IaGSJ+Dz30kNlSY/z48b5j3PPk2759u1xzzTXmnjZq1Eh69+4t7777ru+81kxMmzZN2rVrZ87r/m5btmxJ62f2Mt1yZurUqdKlSxdzP7t27Sr33Xefuc827nli3nrrLRk2bJhp668/Q1555ZWA827ur27rM3LkSNOdVzvkjx49Wvbt25fgJ/vum8OyrJdeeslq0KCB9Yc//MHauHGjNWbMGKt58+bWjh070v3RPG/QoEHWs88+a3344YfW+vXrrUsuucTq2LGjtW/fPt81N9xwg9WhQwdr6dKl1rvvvmv169fPOuecc9L6ubPF6tWrrc6dO1unnHKKdfPNN/uOc8+Ta8+ePVanTp2sn//859aqVausrVu3Wn/961+tTz/91HfNQw89ZBUXF1uvvPKK9f7771uXXnqp1aVLF+vbb79N62f3qgceeMBq1aqVVVZWZm3bts2aP3++1bRpU+vxxx/3XcM9T8xf/vIX684777RefvllTYXWggULAs67ub+DBw+2Tj31VGvlypXW3//+d+vEE0+0rrrqqgQ/mWURYI4566yzrLFjx/qeHz161Grfvr01ffr0tH6ubLRz507zP4Tly5eb55WVlVZBQYH54WP76KOPzDXl5eVp/KTet3fvXqtbt27WkiVLrH//93/3BRjuefJNmjTJGjBgQNjztbW1VklJifXwww/7jun/HwoLC60XX3yxjj5ldhkyZIj1i1/8IuDY5Zdfbo0cOdL8mXueXMEBxs393bRpk3ndmjVrfNe8+uqrVl5enrV9+/aEPg9TSCJy6NAhWbt2rRn6suXn55vn5eXlaf1s2aiqqso8tmzZ0jzqvT98+HDA/e/evbt07NiR+58gnSIaMmRIwL1V3PPkW7RokekcfsUVV5ip0r59+8rTTz/tO79t2zbTlNP/nuuGdTpdzT2PzznnnGO2mPnkk0/M8/fff19WrFghF198sXnOPU8tN/dXH3XaSP+3YdPr9XfsqlWrsnMrgbq0a9cuM5fatm3bgOP6/OOPP07b58pGuqeVrsPo37+/9OrVyxzT/wHo/lfBu4fr/ddziM9LL70k69atkzVr1oSc454n39atW2XOnDlmG5Q77rjD3Pdf/epX5j7rtij2fXX6OcM9j8/kyZOlurrahG/dAFh/jj/wwANmvYXinqeWm/urjxro/dWvX9/8AzbR/x8QYFDnIwIffvih+VcSUufLL7+Um2++WZYsWWIWpaNuwrn+K/PBBx80z3UERv9bnzt3rgkwSL4///nP8vzzz8sLL7wgJ598sqxfv978A0kXnHLPsx9TSCLSunVrk96DKzD0eUlJSdo+V7YZN26clJWVyRtvvCHHH3+877jeY53Gq6ysDLie+x8/nSLauXOnnHbaaeZfO/q1fPlys5+Y/ln/hcQ9Ty6twujZs2fAsR49esgXX3xh/mzfV37OJM9tt91mRmGuvPJKU/F17bXXyoQJE0zlo+Kep5ab+6uP+rPI35EjR0xlUqL/PyDAiJgh3tNPP93Mpfr/a0qfl5aWpvWzZQNd+6XhZcGCBbJs2TJT8uhP731BQUHA/dcya/3Bz/2PzwUXXCAbNmww/yK1v3R0QIfW7T9zz5NLp0WD2wPo2oxOnTqZP+t/9/oD2/+e6/SHrgPgnsfnwIEDZi2FP/3HqP78Vtzz1HJzf/VR/6Gk/6iy6e8B/f9RwpszJ7QEOMvKqHXl9Lx588yq6euvv96UUVdUVKT7o3nejTfeaMrs3nzzTevrr7/2fR04cCCgpFdLq5ctW2ZKektLS80Xkse/Cklxz5Nfrl6/fn1T2rtlyxbr+eeftxo3bmw999xzASWn+nNl4cKF1gcffGANHz6ckt4EjBo1yjruuON8ZdRa6tu6dWvr9ttv913DPU+8kvG9994zXxoZHnnkEfPnf/zjH67vr5ZR9+3b17QXWLFihamMpIw6yX7729+aH+jaD0bLqrVmHYnT/+idvrQ3jE3/Y//lL39ptWjRwvzQ//GPf2xCDlIXYLjnybd48WKrV69e5h9D3bt3t5566qmA81p2OnXqVKtt27bmmgsuuMDavHlz2j6v11VXV5v/pvXndsOGDa0TTjjB9CypqanxXcM9T8wbb7zh+PNbw6Pb+7t7924TWLRHT1FRkXXdddeZYJSoPP0/iY3hAAAA1C3WwAAAAM8hwAAAAM8hwAAAAM8hwAAAAM8hwAAAAM8hwAAAAM8hwAAAAM8hwAAAAM8hwAAAAM8hwAAAAM8hwAAAAPGa/w/YT1jrK7KqRgAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 254
  },
  {
   "cell_type": "markdown",
   "id": "4081b75e6ba10110",
   "metadata": {},
   "source": "从而在训练时，也需要不断调整b的值，从而找到最合适的b"
  },
  {
   "cell_type": "code",
   "id": "9ce8384441dfde4f",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-06-16T13:24:27.786654Z",
     "start_time": "2025-06-16T13:24:27.731109Z"
    }
   },
   "source": [
    "# 大都督周瑜（我的微信: it_zhouyu）\n",
    "\n",
    "x = np.random.randint(1, 100, 100)\n",
    "y = np.array([i * 10 + np.random.randint(100) for i in x])\n",
    "y = np.array(y) + 1000\n",
    "print(x[:5])\n",
    "print(y[:5])\n",
    "\n",
    "x = x / 100\n",
    "y = y / 100\n",
    "\n",
    "epoch = 200\n",
    "w = 0.1\n",
    "b = 0.1\n",
    "\n",
    "for _ in range(epoch):\n",
    "    for i in range(len(x)):\n",
    "        y_predict = w * x[i] + b\n",
    "        loss = y_predict - y[i]\n",
    "        w = w - loss * x[i]\n",
    "        b = b - loss\n",
    "\n",
    "y_predict = w * x + b\n",
    "plt.scatter(x, y)\n",
    "plt.plot(x, y_predict, color='r')\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[87 56 59 84 89]\n",
      "[1951 1616 1658 1890 1946]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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N240QgnBw/3PW2vGggOGGfzYnsx9Sfm+9GXwUi1dejVr1ixjKdAtt9xiLNUqLS01Hr/++ut9d999d8BS29q1a/seffRRY+nn/fffz1LbBH7eU6ZMMZbS/fOf//Tt3r275vbtt9+m8J8iez/vYKx2SeznvW3bNmP11pgxY3wbNmzwzZ8/39e8eXPfww8/nMJ/iuz9vPXPa/28Z8+ebSwDffPNN30dOnQwVjEiMv1zV9se6E2/9h9//HHj988//9x4XD9r/cyDl9reeeedxveltk1gqa0fXXvcpk0b40tOl26tWrWq5rF+/foZfwD7+8c//uHr1KmTcb4uI1qwYEEKrtobn3fbtm2N/8iDb/qHCBLz37c/wkfiP+93333XWK6vX6K67PY3v/mNsdwZ7n/eR44c8T3wwANG4KhXr56vdevWvttvv933zTffpOjqM8uSJUss/zw2P2P9qZ958HN69Ohh/PvR/76fffZZV68pR//HvXEUAACALKz5AAAAmYvwAQAAkorwAQAAkorwAQAAkorwAQAAkorwAQAAkorwAQAAkorwAQAAkorwAQAAkorwAQAAkorwAQAAkorwAQAAJJn+P3YeFwdwiuosAAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 261
  },
  {
   "cell_type": "markdown",
   "id": "4196556cb5af77e2",
   "metadata": {},
   "source": [
    "y=wx+b，就是一个很简单的线性回归模型，其中w和b就是参数，是需要训练得出的。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.20"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
